Apparatuses, Computer Program Products, And Methods For Group-Based Communication Channel Organization

ABSTRACT

Various embodiments of the present disclosure provide apparatuses, systems, and computer program products for group-based communication channel organization. In this regard, embodiments described herein are configured to enable group-based communication interfaces rendered with group-based communication channels organized into specific organized channel sets. A plurality of organized channel sets may be reorganized, and/or the associated channel set for each organized channel set may be reorganized. In one example embodiment, an apparatus is configured to receive an interface rendering request associated with an authenticated user account and a group-based communication interface, identify at least one organized channel set associated with the authenticated user account, and cause rendering of the group-based communication interface comprising an organized channel set interface element set, each organized channel set interface element in the organized channel set interface element set associated with one of the at least one organized channel set.

RELATED APPLICATIONS

This application claims priority to and is a continuation of U.S. patentapplication Ser. No. 16/670,823, filed on Oct. 31, 2019, the entirecontents of which are incorporated herein by reference.

TECHNOLOGICAL FIELD

Embodiments of the present disclosure generally relate to group-basedcommunication channel organization, and specifically to organizedchannel set generation and management in a group-based communicationsystem.

BACKGROUND

Conventionally, in message systems, channels are organized within asingle set containing all channels. Alternatively, in some conventionalsystems, channels are organized within a limited set of inflexibleand/or automatically generated channel sets. Applicant has discoveredproblems with current systems, methods, apparatuses, and computerprogram products for channel organization, and through applied effort,ingenuity, and innovation, Applicant has solved many of these identifiedproblems by developing a solution that is embodied in the presentdisclosure, which is described in detail below.

BRIEF SUMMARY

In general, embodiments of the present disclosure provided hereininclude systems, methods, apparatuses and computer program products forgroup-based communication channel organization. Other systems,apparatuses, methods, computer readable media, and features will be, orwill become, apparent to one with skill in the art upon examination ofthe following figures and detailed description. It is intended that allsuch additional systems, apparatuses, methods, computer readable media,and features be included within this description be within the scope ofthe disclosure, and be protected by the following claims.

In accordance with one aspect of the present disclosure, an apparatusfor group-based communication channel organization is provided. In atleast one example embodiment, the apparatus includes at least oneprocessor and at least one memory, the at least one memory havingcomputer-coded instructions stored thereon. The computercoded-instructions, in execution with the at least one processor,configure the apparatus to receive an interface rendering requestassociated with an authenticated user account and a group-basedcommunication interface. The example apparatus is further configured toidentify at least one organized channel set associated with theauthenticated user account. The example apparatus is further configuredto cause rendering of the group-based communication interface, thegroup-based communication interface comprising (1) a sidebar interface,wherein the sidebar interface comprises an organized channel setinterface element set, each organized channel set interface element inthe organized channel set interface element set associated with one ofthe at least one organized channel set, and (2) at least one othergroup-based communication channel separate from the organized channelset interface element set, wherein the at least one other group-basedcommunication channel is not associated with any of the at least oneorganized channel set.

Additionally or alternatively, in some embodiments of the exampleapparatus the interface rendering request is received from a clientdevice, and identifying the at least one organized channel setassociated with the authenticated user account comprises querying agroup-based communication datastore based on the authenticated useraccount and the group-based communication interface; and receiving theat least one organized channel set from a group-based communicationsystem in response to the query.

Additionally or alternatively, in some embodiments of the exampleapparatus the interface rendering request is received in response touser interaction, and identifying the at least one organized channel setassociated with the authenticated user account comprises querying aclient datastore based on the authenticated user account and thegroup-based communication interface; and receiving the at least oneorganized channel set in response to the query.

Additionally or alternatively, in some embodiments of the exampleapparatus, each organized channel set interface element in the organizedchannel set interface element set is associated with an organizedchannel set of the at least one organized channel set, and eachorganized channel set interface element in the organized channel setinterface element set is configured based on one or more of organizedchannel set title data and organized channel set image data for theassociated organized channel set.

Additionally or alternatively, in some embodiments of the exampleapparatus, the at least one organized channel set comprises a firstorganized channel set and a second organized channel set, and theorganized channel set interface element set comprises at least a firstorganized channel set interface element associated with the firstorganized channel set and a second organized channel set interfaceelement associated with the second organized channel set, and whereinthe sidebar interface comprises the second organized channel setinterface element rendered separate from the first organized channel setinterface element.

Additionally or alternatively, in some embodiments of the exampleapparatus, the apparatus is further configured to receive a channelorganization request, the channel organization request associated withat least one selected group-based communication channel and a selectedorganized channel set of the identified at least one organized channelset; and cause updated rendering of a selected organized channel setinterface element associated with the selected organized channel set toinclude the at least one selected group-based communication channel.Additionally or alternatively, in some such embodiments of the exampleapparatus, to receive the channel organization request, the apparatus isconfigured to receive user interaction data representing a drag-and-dropaction from the at least one selected group-based communication channelto the selected organized channel set interface element associated withthe selected organized channel set.

Additionally or alternatively, in yet other of such embodiments of theexample apparatus, to receive the channel organization request, theapparatus is configured to receive first user interaction dataindicating activation of an channel organization mode; cause renderingof the sidebar interface of the group-based communication interfacecomprising at least a selection interface element associated with eachgroup-based communication channel accessible to the authenticated useraccount and a selection submission interface element, wherein eachselection interface element is configured to receive user interactionindicating selection of the corresponding group-based communicationchannel for associating with an organized channel set; in response toreceiving user interaction with the selection interface elementassociated with the at least one selected group-based communicationchannel, receive channel selection data for at least the at least oneselected group-based communication channel; and in response to receivinguser interaction with the selection submission interface element,receive the channel organization request, wherein the at least oneselected group-based communication channel associated with the channelorganization request is based on the channel selection data, and whereinthe selected organized channel set is based on the user interaction withthe selection submission interface element.

Additionally or alternatively, in yet other of such embodiments of theexample apparatus, the apparatus is further configured to store the atleast one selected group-based communication channel within the selectedorganized channel set.

Additionally or alternatively, in yet other of such embodiments of theexample apparatus, the channel organization request comprises aplurality of channel identifiers associated with the at least oneselected group-based communication interface, the apparatus furtherconfigured to store the channel identifier set within the selectedorganized channel set.

Additionally or alternatively, in yet other of such embodiments of theexample apparatus, the apparatus further configured to receive a secondchannel organization request in response to receiving second userinteraction data, the second channel organization request associatedwith at least one second selected group-based communication channel anda second selected organized channel set of the identified at leastorganized channel set; and cause updated rendering of a second organizedchannel set interface element associated with the second selectedorganized channel set to include the at least one second selectedgroup-based communication channel.

Additionally or alternatively, in some embodiments of the exampleapparatus, the apparatus is further configured to receive an organizedchannel set creation request associated with the authenticated useraccount, wherein the organized channel set creation request comprisesorganized channel set title data; generate a new organized channel setbased on the organized set creation request, the new organized channelset comprising at least a new organized channel set identifier; andstore the new organized channel set associated with the authenticateduser account. Additionally or alternatively, in some such embodiments ofthe example apparatus, the organized channel set creation requestfurther comprises organized channel set image data, and the apparatus isfurther configured to cause updated rendering of the group-basedcommunication interface to include a new organized channel set interfaceelement based configured based on at least the organized channel setimage data.

Additionally or alternatively, in some embodiments of the exampleapparatus, the organized channel set interface element set comprises aselected organized channel set interface element, the selected organizedchannel set interface element comprising at least a selected group-basedcommunication channel of a plurality of associated group-basedcommunication channels, and the selected organized channel set isassociated with a channel order, the apparatus further configured toreceive channel reordering interaction data in response to userinteraction with the selected group-based communication channelassociated with the selected organized channel set interface element;generate an updated channel order based on the channel order and thechannel reordering interaction data; and cause updated rendering of thegroup-based communication interface comprising the selected organizedchannel set interface element rendered based on the updated channelorder.

Additionally or alternatively, in some embodiments of the exampleapparatus, the organized channel set interface element set comprises aselected organized channel set interface element associated with aselected organized channel set, and the apparatus is further configuredto receive a settings configuration request associated with the selectedorganized channel set in response to user interaction with the selectedorganized channel set interface element; and configure at least onegroup-based communication channel setting for each group-basedcommunication channels in a group-based communication channel setassociated with the selected organized channel set, wherein the at leastone group-based communication channel setting is configured based on thesettings configuration request.

Additionally or alternatively, in some embodiments of the exampleapparatus, the organized channel set interface element set comprises aselected organized channel set interface element, and the at least oneorganized channel set is associated with an organized channel set order,the apparatus is further configured to receive organized channel setreordering interaction data in response to user interaction with theselected organized channel set interface element; generate an updatedorganized channel set order based on the organized channel set order andthe organized channel set reordering interaction data; and cause updatedrendering of the sidebar interface comprising at least the selectedorganized channel set interface element rendered based on the updatedorganized channel set order.

In accordance with another aspect of the present disclosure, acomputer-implemented method for group-based communication channelorganization is provided. The computer-implemented method may beperformed by any hardware, software, firmware, or a combination thereof,as disclosed herein. In at least one example embodiment, thecomputer-implemented method includes receiving an interface renderingrequest associated with an authenticated user account and a group-basedcommunication interface. The example computer-implemented method furtherincludes identifying at least one organized channel set associated withthe authenticated user account. The example computer-implemented methodfurther includes causing rendering of the group-based communicationinterface, the group-based communication interface comprising (1) asidebar interface, wherein the sidebar interface comprises an organizedchannel set interface element set, each organized channel set interfaceelement in the organized channel set interface element set associatedwith one of the at least one organized channel set, and (2) at least oneother group-based communication channel separate from the organizedchannel set interface element set, wherein the at least one othergroup-based communication channel is not associated with any of the atleast one organized channel set.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, the interface rendering request is receivedfrom a client device, and wherein identifying the at least one organizedchannel set associated with the authenticated user account comprisesquerying a group-based communication datastore based on theauthenticated user account and the group-based communication interface;and receiving the at least one organized channel set from a group-basedcommunication system in response to the query.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, the interface rendering request is receivedin response to user interaction, and wherein identifying the at leastone organized channel set associated with the authenticated user accountcomprises querying a client datastore based on the authenticated useraccount and the group-based communication interface; and receiving theat least one organized channel set in response to the query.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, each organized channel set interfaceelement in the organized channel set interface element set is associatedwith an organized channel set of the at least one organized channel set,and each organized channel set interface element in the organizedchannel set interface element set is configured based on one or more oforganized channel set title data and organized channel set image datafor the associated organized channel set.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, the at least one organized channel setcomprises a first organized channel set and a second organized channelset, and the organized channel set interface element set comprises atleast a first organized channel set interface element associated withthe first organized channel set and a second organized channel setinterface element associated with the second organized channel set, andthe sidebar interface comprises the second organized channel setinterface element rendered separate from the first organized channel setinterface element.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, the computer-implemented method furthercomprises receiving a channel organization request, the channelorganization request associated with at least one selected group-basedcommunication channel and a selected organized channel set of theidentified at least one organized channel set; and causing updatedrendering of a selected organized channel set interface elementassociated with the selected organized channel set to include the atleast one selected group-based communication channel. Additionally oralternatively, in some such example embodiments of thecomputer-implemented method, receiving the channel organization requestcomprises receiving user interaction data representing a drag-and-dropaction from the at least one selected group-based communication channelto the selected organized channel set interface element associated withthe selected organized channel set. Additionally or alternatively, inother such example embodiments of the computer-implemented method,receiving the channel organization request comprises receiving firstuser interaction data indicating activation of an channel organizationmode; causing rendering of the sidebar interface of the group-basedcommunication interface comprising at least a selection interfaceelement associated with each group-based communication channelaccessible to the authenticated user account and a selection submissioninterface element, wherein each selection interface element isconfigured to receive user interaction indicating selection of thecorresponding group-based communication channel for associating with anorganized channel set; in response to receiving user interaction withthe selection interface element associated with the at least oneselected group-based communication channel, receiving channel selectiondata for at least the at least one selected group-based communicationchannel; and in response to receiving user interaction with theselection submission interface element, receive the channel organizationrequest, wherein the at least one selected group-based communicationchannel associated with the channel organization request is based on thechannel selection data, and wherein the selected organized channel setis based on the user interaction with the selection submission interfaceelement.

Additionally or alternatively, in other such example embodiments of thecomputer-implemented method, the computer-implemented method furthercomprises storing the at least one selected group-based communicationchannel within the selected organized channel set. Additionally oralternatively, in other such example embodiments of thecomputer-implemented method, the channel organization request comprisesa plurality of channel identifiers associated with the at least oneselected group-based communication interface, the computer-implementedmethod further comprises storing the channel identifier set within theselected organized channel set. Additionally or alternatively, in othersuch example embodiments of the computer-implemented method, thecomputer-implemented method further comprises receiving a second channelorganization request in response to receiving second user interactiondata, the second channel organization request associated with at leastone second selected group-based communication channel and a secondselected organized channel set of the identified at least organizedchannel set; and causing updated rendering of a second organized channelset interface element associated with the second selected organizedchannel set to include the at least one second selected group-basedcommunication channel.

Additionally or alternatively, in some example embodiments of thecomputer-implemented method, the computer-implemented method furthercomprises receiving an organized channel set creation request associatedwith the authenticated user account, wherein the organized channel setcreation request comprises organized channel set title data; generatinga new organized channel set based on the organized set creation request,the new organized channel set comprising at least a new organizedchannel set identifier; and storing the new organized channel setassociated with the authenticated user account. Additionally oralternatively, in other such example embodiments of thecomputer-implemented method, the organized channel set creation requestfurther comprises organized channel set image data, and thecomputer-implemented method further comprising causing updated renderingof the group-based communication interface to include a new organizedchannel set interface element based configured based on at least theorganized channel set image data.

Additionally or alternatively, in some such example embodiments of thecomputer-implemented method, the organized channel set interface elementset comprises a selected organized channel set interface element, theselected organized channel set interface element comprising at least aselected group-based communication channel of a plurality of associatedgroup-based communication channels, the selected organized channel setis associated with a channel order, and the computer-implemented methodfurther comprises receiving channel reordering interaction data inresponse to user interaction with the selected group-based communicationchannel associated with the selected organized channel set interfaceelement; generating an updated channel order based on the channel orderand the channel reordering interaction data; and causing updatedrendering of the group-based communication interface comprising theselected organized channel set interface element rendered based on theupdated channel order.

Additionally or alternatively, in some such example embodiments of thecomputer-implemented method, the organized channel set interface elementset comprises a selected organized channel set interface elementassociated with a selected organized channel set, and thecomputer-implemented method further comprises receiving a settingsconfiguration request associated with the selected organized channel setin response to user interaction with the selected organized channel setinterface element; configuring at least one group-based communicationchannel setting for each group-based communication channels in agroup-based communication channel set associated with the selectedorganized channel set, wherein the at least one group-basedcommunication channel setting is configured based on the settingsconfiguration request.

Additionally or alternatively, in some such example embodiments of thecomputer-implemented method, the organized channel set interface elementset comprises a selected organized channel set interface element, the atleast one organized channel set is associated with an organized channelset order, and the computer-implemented method further comprisesreceiving organized channel set reordering interaction data in responseto user interaction with the selected organized channel set interfaceelement; generating an updated organized channel set order based on theorganized channel set order and the organized channel set reorderinginteraction data; and causing updated rendering of the sidebar interfacecomprising at least the selected organized channel set interface elementrendered based on the updated organized channel set order.

In accordance with another aspect of the present disclosure, a computerprogram product for group-based communication channel organization isprovided. In at least one example embodiment, the computer programproduct includes at least one non-transitory computer-readable storagemedium having computer program instructions thereon. The computerprogram instructions are, in execution with a processor, configured forreceiving an interface rendering request associated with anauthenticated user account and a group-based communication interface.The example computer program product is further configured foridentifying at least one organized channel set associated with theauthenticated user account. The example computer program product isfurther configured for causing rendering of the group-basedcommunication interface, the group-based communication interfacecomprising (1) a sidebar interface, wherein the sidebar interfacecomprises an organized channel set interface element set, each organizedchannel set interface element in the organized channel set interfaceelement set associated with one of the at least one organized channelset, and (2) at least one other group-based communication channelseparate from the organized channel set interface element set, whereinthe at least one other group-based communication channel is notassociated with any of the at least one organized channel set.

Additionally or alternatively, in some example embodiments of thecomputer program product, the interface rendering request is receivedfrom a client device, and identifying the at least one organized channelset associated with the authenticated user account comprises querying agroup-based communication datastore based on the authenticated useraccount and the group-based communication interface; and receiving theat least one organized channel set from a group-based communicationsystem in response to the query.

Additionally or alternatively, in some example embodiments of thecomputer program product, the interface rendering request is received inresponse to user interaction, and wherein identifying the at least oneorganized channel set associated with the authenticated user accountcomprises querying a client datastore based on the authenticated useraccount and the group-based communication interface; and receiving theat least one organized channel set in response to the query.

Additionally or alternatively, in some example embodiments of thecomputer program product, each organized channel set interface elementin the organized channel set interface element set is associated with anorganized channel set of the at least one organized channel set, andeach organized channel set interface element in the organized channelset interface element set is configured based on one or more oforganized channel set title data and organized channel set image datafor the associated organized channel set.

Additionally or alternatively, in some example embodiments of thecomputer program product, the at least one organized channel setcomprises a first organized channel set and a second organized channelset, the organized channel set interface element set comprises at leasta first organized channel set interface element associated with thefirst organized channel set and a second organized channel set interfaceelement associated with the second organized channel set, and thesidebar interface comprises the second organized channel set interfaceelement rendered separate from the first organized channel set interfaceelement.

Additionally or alternatively, in some example embodiments of thecomputer program product, the computer program product is furtherconfigured for receiving a channel organization request, the channelorganization request associated with at least one selected group-basedcommunication channel and a selected organized channel set of theidentified at least one organized channel set; and causing updatedrendering of a selected organized channel set interface elementassociated with the selected organized channel set to include the atleast one selected group-based communication channel. Additionally oralternatively, in some such example embodiments of the computer programproduct, receiving the channel organization request comprises receivinguser interaction data representing a drag-and-drop action from the atleast one selected group-based communication channel to the selectedorganized channel set interface element associated with the selectedorganized channel set. Additionally or alternatively, in other suchexample embodiments of the computer program product, receiving thechannel organization request comprises receiving first user interactiondata indicating activation of an channel organization mode; causingrendering of the sidebar interface of the group-based communicationinterface comprising at least a selection interface element associatedwith each group-based communication channel accessible to theauthenticated user account and a selection submission interface element,wherein each selection interface element is configured to receive userinteraction indicating selection of the corresponding group-basedcommunication channel for associating with an organized channel set; inresponse to receiving user interaction with the selection interfaceelement associated with the at least one selected group-basedcommunication channel, receiving channel selection data for at least theat least one selected group-based communication channel; and in responseto receiving user interaction with the selection submission interfaceelement, receive the channel organization request, wherein the at leastone selected group-based communication channel associated with thechannel organization request is based on the channel selection data, andwherein the selected organized channel set is based on the userinteraction with the selection submission interface element.

Additionally or alternatively, in other such example embodiments of thecomputer program product, the computer program product is furtherconfigured for storing the at least one selected group-basedcommunication channel within the selected organized channel set.Additionally or alternatively, in other such example embodiments of thecomputer program product, the channel organization request comprises aplurality of channel identifiers associated with the at least oneselected group-based communication interface, and the computer programproduct is further configured for storing the channel identifier setwithin the selected organized channel set.

Additionally or alternatively, in some example embodiments of thecomputer program product, the computer program product is furtherconfigured for receiving a second channel organization request inresponse to receiving second user interaction data, the second channelorganization request associated with at least one second selectedgroup-based communication channel and a second selected organizedchannel set of the identified at least organized channel set; andcausing updated rendering of a second organized channel set interfaceelement associated with the second selected organized channel set toinclude the at least one second selected group-based communicationchannel.

Additionally or alternatively, in some example embodiments of thecomputer program product, the computer program product is furtherconfigured for receiving an organized channel set creation requestassociated with the authenticated user account, wherein the organizedchannel set creation request comprises organized channel set title data;generating a new organized channel set based on the organized setcreation request, the new organized channel set comprising at least anew organized channel set identifier; and storing the new organizedchannel set associated with the authenticated user account. Additionallyor alternatively, in some such example embodiments of the computerprogram product, the organized channel set creation request furthercomprises organized channel set image data, and the computer programproduct is further configured for causing updated rendering of thegroup-based communication interface to include a new organized channelset interface element based configured based on at least the organizedchannel set image data.

Additionally or alternatively, in some example embodiments of thecomputer program product, the organized channel set interface elementset comprises a selected organized channel set interface element, theselected organized channel set interface element comprising at least aselected group-based communication channel of a plurality of associatedgroup-based communication channels, the selected organized channel setis associated with a channel order, and the computer program product isfurther configured for receiving channel reordering interaction data inresponse to user interaction with the selected group-based communicationchannel associated with the selected organized channel set interfaceelement; generating an updated channel order based on the channel orderand the channel reordering interaction data; and causing updatedrendering of the group-based communication interface comprising theselected organized channel set interface element rendered based on theupdated channel order.

Additionally or alternatively, in some example embodiments of thecomputer program product, the organized channel set interface elementset comprises a selected organized channel set interface elementassociated with a selected organized channel set, and the computerprogram product is further configured for receiving a settingsconfiguration request associated with the selected organized channel setin response to user interaction with the selected organized channel setinterface element; and configuring at least one group-basedcommunication channel setting for each group-based communicationchannels in a group-based communication channel set associated with theselected organized channel set, wherein the at least one group-basedcommunication channel setting is configured based on the settingsconfiguration request.

Additionally or alternatively, in some example embodiments of thecomputer program product, the organized channel set interface elementset comprises a selected organized channel set interface element, the atleast one organized channel set is associated with an organized channelset order, and the computer program product is further configured forreceiving organized channel set reordering interaction data in responseto user interaction with the selected organized channel set interfaceelement; generating an updated organized channel set order based on theorganized channel set order and the organized channel set reorderinginteraction data; and causing updated rendering of the sidebar interfacecomprising at least the selected organized channel set interface elementrendered based on the updated organized channel set order.

In yet another aspect of the present disclosure, a second apparatus forgroup-based communication channel organization is provided. In at leastone example embodiment, the second example apparatus includes at leastone processor and at least one memory, the at least one memory havingcomputer-coded instructions stored thereon. The computercoded-instructions, in execution with the at least one processor,configure the second apparatus to receive a channel organization requestcomprising at least a channel identifier and an organized channel setidentifier, wherein the channel identifier is associated with agroup-based communication channel of an accessible group-basedcommunication channel set associated with an authenticated user account.The second apparatus is further configured to store the channelidentifier associated with an organized channel set corresponding to theorganized channel set identifier. The second apparatus is furtherconfigured to cause rendering of a group-based communication interfacecomprising a sidebar interface, wherein the sidebar interface comprisesat least (1) an organized channel set interface element associated withthe organized channel set, and (2) at least one other group-basedcommunication channel separate from the organized channel set interfaceelement, wherein the at least one other group-based communicationchannel is not associated with the organized channel set.

In accordance with yet another aspect of the present disclosure, asecond example computer-implemented method for group-based communicationchannel organization is provided. The second examplecomputer-implemented method may be performed by any hardware, software,firmware, or a combination thereof, as disclosed herein. In at least oneexample embodiment, the second computer-implemented method includesreceiving a channel organization request comprising at least a channelidentifier and an organized channel set identifier, wherein the channelidentifier is associated with a group-based communication channel of anaccessible group-based communication channel set associated with anauthenticated user account. The second computer-implemented methodfurther includes storing the channel identifier associated with anorganized channel set corresponding to the organized channel setidentifier. The second computer-implemented method further includescausing rendering of a group-based communication interface comprising asidebar interface, wherein the sidebar interface comprises at least (1)an organized channel set interface element associated with the organizedchannel set, and (2) at least one other group-based communicationchannel separate from the organized channel set interface element,wherein the at least one other group-based communication channel is notassociated with the organized channel set.

In accordance with yet another aspect of the present disclosure, asecond example computer program product for group-based communicationchannel organization is provided. In at least one example embodiment,the second computer program product includes at least one non-transitorycomputer-readable storage medium having computer program instructionsthereon. The computer program instructions are, in execution with aprocessor, configured for receiving a channel organization requestcomprising at least a channel identifier and an organized channel setidentifier, wherein the channel identifier is associated with agroup-based communication channel of an accessible group-basedcommunication channel set associated with an authenticated user account.The second computer program product is further configured for storingthe channel identifier associated with an organized channel setcorresponding to the organized channel set identifier. The secondcomputer program product is further configured for causing rendering ofa group-based communication interface comprising a sidebar interface,wherein the sidebar interface comprises at least (1) an organizedchannel set interface element associated with the organized channel set,and (2) at least one other group-based communication channel separatefrom the organized channel set interface element, wherein the at leastone other group-based communication channel is not associated with theorganized channel set.

In yet another aspect of the present disclosure, a third exampleapparatus for group-based communication channel organization isprovided. In at least one example embodiment, the third exampleapparatus includes at least one processor and at least one memory, theat least one memory having computer-coded instructions stored thereon.The computer coded-instructions, in execution with the at least oneprocessor, configure the third apparatus to receive user interactiondata indicating a user request to associate a selected group-basedcommunication channel with an organized channel set. The third apparatusis further configured to parse the user interaction data to identify achannel identifier associated with the selected group-basedcommunication channel and an organized channel set identifier associatedwith the organized channel set. The third apparatus is furtherconfigured to generate an channel organization request based on thechannel identifier and the organized channel set identifier, the channelorganization request configured to cause the selected group-basedcommunication channel to be associated with the organized channel set.The third apparatus is further configured to transmit the channelorganization request to a group-based communication system. The thirdapparatus is further configured to render a group-based communicationinterface comprising a sidebar interface, wherein the sidebar interfacecomprises at least (1) an organized channel set interface elementassociated with the organized channel set, the organized channel setinterface element comprising at least the selected group-basedcommunication channel, and (2) at least one other group-basedcommunication channel separate from the organized channel set interfaceelement, wherein the at least one other group-based communicationchannel is not associated with the organized channel set.

In accordance with yet another aspect of the present disclosure, a thirdexample computer-implemented method for group-based communicationchannel organization is provided. The third example computer-implementedmethod may be performed by any hardware, software, firmware, or acombination thereof, as disclosed herein. In at least one exampleembodiment, the third computer-implemented method includes receivinguser interaction data indicating a user request to associate a selectedgroup-based communication channel with an organized channel set. Thethird computer-implemented method further includes parsing the userinteraction data to identify a channel identifier associated with theselected group-based communication channel and an organized channel setidentifier associated with the organized channel set. The thirdcomputer-implemented method further includes generating an channelorganization request based on the channel identifier and the organizedchannel set identifier, the channel organization request configured tocause the selected group-based communication channel to be associatedwith the organized channel set. The third computer-implemented methodfurther includes transmitting the channel organization request to agroup-based communication system. The third computer-implemented methodfurther includes rendering a group-based communication interfacecomprising a sidebar interface, wherein the sidebar interface comprisesat least (1) an organized channel set interface element associated withthe organized channel set, the organized channel set interface elementcomprising at least the selected group-based communication channel, and(2) at least one other group-based communication channel separate fromthe organized channel set interface element, wherein the at least oneother group-based communication channel is not associated with theorganized channel set.

In accordance with yet another aspect of the present disclosure, a thirdexample computer program product for group-based communication channelorganization is provided. In at least one example embodiment, the thirdcomputer program product includes at least one non-transitorycomputer-readable storage medium having computer program instructionsthereon. The computer program instructions are, in execution with aprocessor, configured for receiving user interaction data indicating auser request to associate a selected group-based communication channelwith an organized channel set. The third computer program product isfurther configured for parsing the user interaction data to identify achannel identifier associated with the selected group-basedcommunication channel and an organized channel set identifier associatedwith the organized channel set. The third computer program product isfurther configured for generating an channel organization request basedon the channel identifier and the organized channel set identifier, thechannel organization request configured to cause the selectedgroup-based communication channel to be associated with the organizedchannel set. The third computer program product is further configuredfor transmitting the channel organization request to a group-basedcommunication system. The third computer program product is furtherconfigured for rendering a group-based communication interfacecomprising a sidebar interface, wherein the sidebar interface comprisesat least (1) an organized channel set interface element associated withthe organized channel set, the organized channel set interface elementcomprising at least the selected group-based communication channel, and(2) at least one other group-based communication channel separate fromthe organized channel set interface element, wherein the at least oneother group-based communication channel is not associated with theorganized channel set.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described the embodiments of the disclosure in generalterms, reference now will be made to the accompanying drawings, whichare not necessarily drawn to scale, and wherein:

FIG. 1 illustrates a block diagram of a system that may be speciallyconfigured within which embodiments of the present disclosure mayoperate;

FIG. 2 illustrates a block diagram of an example apparatus that may bespecially configured in accordance with an example embodiment of thepresent disclosure;

FIG. 3 illustrates an example group-based communication interface forgroup-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 4 illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 5 illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 6A illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 6B illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 6C illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 7A illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 7B illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 8 illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 9 illustrates another example group-based communication interfacefor group-based communication channel organization in accordance with atleast an example embodiment of the present disclosure;

FIG. 10 illustrates an example flowchart including operations forgroup-based communication channel organized to be performed inaccordance with at least one example embodiment of the presentdisclosure;

FIG. 11A illustrates an example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 11B illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 12 illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 13 illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 14 illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 15 illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure;

FIG. 16 illustrates another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure; and

FIG. 17 illustrates yet another example flowchart including additionaloperations for group-based communication channel organization to beperformed in accordance with at least one example embodiment of thepresent disclosure.

DETAILED DESCRIPTION

Embodiments of the present disclosure now will be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all, embodiments of the disclosure are shown. Indeed,embodiments of the disclosure may be embodied in many different formsand should not be construed as limited to the embodiments set forthherein, rather, these embodiments are provided so that this disclosurewill satisfy applicable legal requirements. Like numbers refer to likeelements throughout.

Overview

A group-based communication system is configured to provide inter-usercommunication in a particularized organizational format. In this regard,for example, users each are associated with a user account registered tothe group-based communication system (e.g., accessible viaauthentication credentials such as a combination of username andpassword). Each user account may be provisioned to access one or moregroup-based communication workspaces and/or associated group-basedcommunication channels. The group-based communication channelsaccessible to a particular authenticated user account may include anynumber of public group-based communication channels within a group-basedcommunication workspace, private group-based communication channelswithin a group-based communication workspace, shared group-basedcommunication channel, single-user direct group-based communicationchannel, multi-user direct group-based communication channel, and thelike.

In an example context, a user accesses the group-based communicationsystem via a client device to enable access to one or more group-basedcommunication interfaces including various information and/or datalinked to group-based communication workspaces and/or group-basedcommunication channels associated with an authenticated user account. Inthis regard, the group-based communication interface may include achannel list of accessible group-based communication channels, forexample those associated within a particular group-based communicationworkspace and/or direct group-based communication channels. Eachgroup-based communication channel may include, or otherwise be linkedto, one or more group-based communications transmitted within thegroup-based communication channel. A user may interact with thegroup-based communication interface to select a group-basedcommunication channel for viewing, and/or otherwise interact with thegroup-based communication interface for organizing, managing, and/orotherwise utilizing functionality associated with accessible group-basedcommunication channels.

The group-based communication interface may provide access to any of anumber of accessible group-based communication channels within eachworkspace. For example, a group-based communication interface mayinclude a sidebar interface including a channel list of accessiblegroup-based communication interfaces for a particular authenticated useraccount. In conventional systems, the sidebar interface is ofteninflexible, such that accessible group-based communication channels arerendered in a manner that does not enable reorganization of thegroup-based communication channels within the channel list. As thenumber of group-based communication channels accessible to anauthenticated user account increases, a user may quickly becomeoverwhelmed and not be able to effectively or quickly locate and/oraccess the group-based communication channels they desire.

Embodiments of the present disclosure enable group-based communicationchannel organization, for example within a group-based communicationinterface. In some such embodiments, a user associated with anauthenticated user account may organize group-based communicationchannels into one or more organized channel set(s). An organized channelset may include any number of group-based communication channels, whichthe user may be organized by the user as they desire via one or moretypes of user interaction. In some embodiments, an organized channel setis associated with organized channel set title data and/or organizedchannel set image data that may be used to render a correspondingorganized channel set interface element. Furthermore, in someembodiments, each organized channel set interface element is collapsiblewithin a group-based communication interface, for example such that auser may hide the group-based communication channels therein from beingrendered and cluttering the group-based communication interface. In thisregard, a user may utilize one or more organized channel set(s) toorganize the rendering of group-based communication channels within agroup-based communication interface as they desire, and/or limit visualclutter associated with group-based communication channels not currentlyprioritized by the user.

Organized channel sets further enable efficient configuration ofmultiple group-based communication channels, including group-basedcommunication channels having various group-based communication channeltypes, with a single (or minimal) required user interaction. In additionto minimizing the required user interaction, such configuration enablesone or more group-based communication channels to be organized andconfigured similarly to meet the desires or needs of a particular user.For example, in some embodiments, an organized channel set may beconfigured according with particular group-based communication channelsettings such that, while within the organized channel set, thegroup-based communication channel inherits the group-based communicationchannel settings of the organized channel set. Additionally oralternatively, in some embodiments, a user may interact with a renderedorganized channel set interface element, which corresponds to anorganized channel set, to configure particular group-based communicationchannel settings for all group-based communication channels linked tothe organized channel set. In this regard, an organized channel setenables the user to configure multiple group-based communicationchannels of various group-based communication channel types with asingle interaction instead of performing the configuration interactionsfor each group-based communication channel or group-based communicationchannel type individually.

In a given group-based communication interface, an authenticated useraccount may be associated with any number of organized channel sets, forexample such that the user may organize accessible group-basedcommunication channels into various organized channel sets as the userdesires. Various embodiments further enable a user associated with anauthenticated user account to freely create any number of organizedchannel set(s), and/or delete such organized channel set(s). In somesuch embodiments, created organized channel set(s) are each associatedwith unique organized channel set title data, such that correspondingorganized channel set interface elements are readily distinguishablebetween one another and enable the user to organize group-basedcommunication channels into desired and/or logical groupings (e.g., byintended subject matter, users permissioned to access the group-basedcommunication channels, or the like).

Additionally or alternatively, in some embodiments, organized channelset(s) are further customizable based on a user desired order of suchinterface elements. For example, group-based communication channelswithin each organized channel set may be organized based on an orderspecified by the user. In this regard, within each organized channel setinterface element, the group-based communication channels may berendered in a desired order. Additionally or alternatively still,organized channel set(s) may be rendered in an order within agroup-based communication interface or sub-component thereof. In thisregard, the group-based communication interface is further customizableto enable rendering of organized channel set interface elements in anorder set by the user. By enabling organization the group-basedcommunication interface in this manner, embodiments further enablerendering of specific user interfaces particularly laid out forefficient use as preferred by a particular user.

Organized channel sets further enable technological advantages withrespect to a group-based communication system and specially configuredclient device. For example, a group-based communication interface may beorganized and/or de-cluttered based on organized channel set(s) to limitthe number of group-based communication channels and/or correspondinginformation (e.g., notifications, badges, or the like) that must betransmitted to a client device and rendered by the client device.Further, processing resources are saved by enabling rendering ofparticularized group-based communication interfaces based on userpreference. Such technological advantages are provided in addition tothe multitude of user interaction and user experience based improvementsdescribed above with respect to rendering particularized group-basedcommunication interfaces for limiting information overload and enablingefficient usability.

Definitions

In some embodiments, some of the operations above may be modified orfurther amplified. Furthermore, in some embodiments, additional optionaloperations may be included. Modifications, amplifications, or additionsto the operations above may be performed in any order and in anycombination.

Many modifications and other embodiments of the disclosure set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing description and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Moreover, although the foregoing descriptions and the associateddrawings describe example embodiments in the context of certain examplecombinations of elements and/or functions, it should be appreciated thatdifferent combinations of elements and/or functions may be provided byalternative embodiments without departing from the scope of the appendedclaims. In this regard, for example, different combinations of elementsand/or functions than those explicitly described above are alsocontemplated as may be set forth in some of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

As used herein, the terms “data,” “content,” “digital content,” “digitalcontent object,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, received,and/or stored in accordance with embodiments of the present disclosure.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present disclosure. Further, where acomputing device is described herein to receive data from anothercomputing device, it will be appreciated that the data may be receiveddirectly from another computing device or may be received indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like, sometimes referred to herein as a “network.”Similarly, where a computing device is described herein to send data toanother computing device, it will be appreciated that the data may besent directly to another computing device or may be sent indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like.

The term “identifier” refers to electronically managed information thatis uniquely correlated with (i.e., identifies) a particular data object,set of data, or information. In some embodiments, an identifier includesone or more of a binary data value, a numerical data value, ASCII text,text encoded via another encoding schema, a pointer, a memory address,or a combination thereof.

The term “client device” refers to one or more computer hardware devicesfor accessing functionality facilitated by a group-based communicationsystem, an external resource, and/or one or more software applicationsexecutable via the client device. In some embodiments, a user interactswith a client device to access functionality provided by a group-basedcommunication system using an authenticated user account. Non-limitingexamples of a client device include a mobile phone, wearable, tablet,personal computer, laptop, smart device, IoT device, or the like.

“Group-based” is used herein to refer to a system, channel, message, orvirtual environment that has security sufficient such that it isaccessible only to a defined group of users. The group may be defined bycommon access credentials such as those of an organization or commercialenterprise. Access may further be facilitated by a validated request tojoin or an invitation originated from one user who has been grantedaccess to the group to another entity who has not been granted access tothe group. Group identifiers are used to associate data, information,messages, etc., with specific groups.

The term “group-based communication system” refers to a communicationssoftware platform and associated hardware that is configured to supportand maintain a plurality of group-based communication interfaces and allassociated functionality. Group-based communication system users areorganized into organization groups (e.g., employees of differentcompanies may be separate organization groups) and each group interactswith the system via a respective group-based communication interface.For example, the group-based communication system might support, amongothers, a Slack Corporation group-based communication interface and anACME Corporation group-based communication interface

The term “external resource” refers to a software application, program,platform, or service associated with a third-party controlled system,and that is configured for authenticated communication with agroup-based communication system to provide particular functionality toa client device connected the group-based communication system. Anexternal resource provides functionality not provided natively by thegroup-based communication system. The external resource operates on acompiled code base or repository that is separate and distinct from thatwhich supports the group-based communication system. In someembodiments, the external resource may communicate with the group-basedcommunication system, and vice versa, through one or more applicationprogram interfaces (APIs). In some embodiments, the external resourcereceives tokens and/or other authentication credentials that are used tofacilitate secure communication between the external resource and thegroup-based communication system, such as for navigating the networksecurity layers or protocols (e.g., network firewall protocols) securingthe group-based communication system. Additionally or alternatively, insome embodiments, a group-based communication system stores one or moreauthentication token(s) for accessing functionality provided by theexternal resource. In some embodiments, access to an external resourceis managed on a workspace level. In other embodiments, access toexternal resource is managed on an organization level.

The term “group-based communication interface” refers to a virtualcommunications environment configured to facilitate user interactionwith a group-based communications system. Each group-based communicationinterface is accessible and viewable to a select group of users, such asa group of employees of a business or organization (e.g., the SlackCorp. interface would be accessible and viewable to the Slack employeeshowever the ACME Corporation group-based communication interface wouldnot be accessible and viewable to Slack employees). The group-basedcommunication interface includes a plurality of group-basedcommunication channels (e.g., a marketing channel, sales channel,accounting channel, etc.). In some embodiments, a group-basedcommunication interface comprises one or more sub-interfaces, forexample a sidebar interface, content interface, and flex interface, orcombination thereof (as defined below).

The term “sidebar interface” refers to a sub-interface corresponding toa defined area of a group-based communication interface to be renderedvia a client device. In some embodiments, a sidebar interface includesworkspace-level information and/or organization-level informationassociated with a particular authenticated user account. For example, insome embodiments, a sidebar interface includes one or more interfaceelements comprising accessible group-based communication channelsassociated with particular workspace or organization linked to anauthenticated user account.

The term “channel content interface” refers to another sub-interfacecorresponding to a defined area of a group-based communication interfaceto be rendered via a client device. In some embodiments, a channelcontent interface includes group-based communication channel-levelinformation associated with an accessed group-based communicationchannel. For example, in some embodiments, a group-based communicationchannel is accessed through interaction with a sidebar interface, andcorresponding group-based communication messages and/or other contentassociated with the group-based communication channel is rendered viathe channel content interface. In some embodiments, a group-basedcommunication interface is rendered including only a sidebar interfaceand a channel content interface. In other embodiments, a group-basedcommunication interface is rendered including one or more additionalsub-interfaces

The term “flex interface” refers to another sub-interface correspondingto a defined area of a group-based communication interface to berendered via a client device. In some embodiments, a flex interfaceincludes a variety of digital content associated with the channelcontent interface, such as for rendering a thread of group-basedcommunication messages. Additionally or alternatively, in someembodiments, a flex interface is configured to provide interfaceelements for performing functionality associated with the channelcontent interface and/or group-based communication interface generally(e.g., search functionality, link preview and/or accessingfunctionality, and/or the like).

The term “group-based communication channel” refers to a virtualcommunications environment or feed that is configured to displaymessaging communications posted by channel members (e.g., validatedusers accessing the environment using client devices) that are viewableonly to the members of the group. The format of the group-basedcommunication channel may appear differently to different members of thegroup-based communication channel; however, the content of thegroup-based communication channel (i.e., messaging communications) willbe displayed to each member of the group-based communication channel.For instance, a common set of group-based messaging communications willbe displayed to each member of the respective group-based communicationchannel such that the content of the group-based communication channel(i.e., messaging communications) will not vary per member of thegroup-based communication channel. In some embodiments, a group-basedcommunication system is configured to manage various types ofgroup-based communication channels, which may be identified based on a“group-based communication channel type.” Non-limiting examples ofgroup-based communication channels include a single-user directgroup-based communication channel (e.g., for communications between twoauthenticated user accounts), a multi-user direct group-basedcommunication channel (e.g., for communications between a plurality ofauthenticated user accounts), a public group-based communication channel(e.g., accessible to all authenticated user accounts within aworkspace), a private group-based communication channel (e.g.,accessible to invited and/or specific authenticated user accounts withina workspace), an external resource group-based communication channel(e.g., for communications from and/or to an external resource accessiblewithin a workspace or organization), or any combination thereof.

In some embodiments, one group-based communication channel may beassociated with one or more organization identifiers. A group-basedcommunication channel associated with more than one organizationidentifiers is a “common group-based communication channel.”

The terms “group-based communication channel identifier” and “channelidentifier” refer to one or more identifiers by which a group-basedcommunication channel may be uniquely identified by a group-basedcommunication system. A group-based communication channel identifierassociated with a common group-based communication channel is a “commongroup-based communication channel identifier.”

The term “group-based communication channel setting” refers to one ormore data management settings associated with a group-basedcommunication channel. A group-based communication channel setting isassociated with a corresponding “channel setting value” that refers to aconfigured data value for use associated with the group-basedcommunication channel setting. It should be appreciated that somegroup-based communication channel settings are associated with a limitednumber of group-based communication channel setting values, for examplea binary value selection (e.g., on-off for a particular setting), apredetermined value set (e.g., different notification modes), a discretenumerical value within a numerical range (e.g., 0 to 100), or anycombination thereof. Non-limiting examples of group-based communicationchannel settings include notification settings for determining when aclient device should render a notification associated with a group-basedcommunication message or other activity occurring within a group-basedcommunication channel, client device cache settings for the group-basedcommunications within the group-based communication channel, badgesettings for the group-based communication channel, and the like.

The term “settings configuration request” refers to electronicallymanaged data indicating a request to configure at least one group-basedcommunication channel setting for all group-based communication channelsassociated with a selected organized channel set. In some embodiments,the settings configuration request includes at least an organizedchannel set identifier associated with the selected organized channelset, for example for use in identifying and/or retrieving the organizedchannel set. Additionally or alternatively, in some embodiments, asettings configuration request includes a channel setting value setincluding at least one channel setting value, each channel setting valueto be used in configuring a corresponding group-based communicationchannel to utilize the channel setting value. In some embodiments, aspecially configured client device receives and/or processes a settingsconfiguration request in response to user interaction with a selectedorganized channel set interface element, for example by locally storingupdated channel setting value(s) for the group-based communicationchannel settings for one or more authenticated user accounts.Additionally or alternatively, in some embodiments, a group-basedcommunication system receives, from a client device, and/or processes asettings configuration request in response to user interaction with theclient device, for example by storing the updated channel settingvalue(s) for a group-based communication channel setting remote from theclient device for one or more authenticated user accounts.

The terms “group identifier” and “workspace identifier” refer to one ormore identifiers by which a workspace within a group-based communicationsystem may be uniquely identified. An organization or other entitywithin a group-based communication system may be associated with anynumber of workspace identifiers.

The term “authenticated user account” refers to informationcorresponding to authentication credentials (e.g., a username andpassword combination) for accessing particular functionality of agroup-based communication system. An authenticated user account isassociated with any of a variety of information, including, for exampleand without limitation, a user identifier, one or more group-basedcommunication channel identifiers associated with group-basedcommunication channels that the user has been granted access to (i.e.,accessible group-based communication channels), one or more groupidentifiers for workspaces with which the user is associated (e.g.,accessible workspaces), one or more organization identifiers fororganizations with which the user is associated, an indication as towhether the user is an owner of any group-based communication channels,an indication as to whether the user has any group-based communicationchannel restrictions, a plurality of group-based communication messages,an emoji, a plurality of conversations, a plurality of conversationtopics, an avatar, an email address, a real name (e.g., John Doe), ausername (e.g., j doe), a password, a real name, a time zone, a status,and the like. In some embodiments, a user utilizes a client device totransmit authentication credentials corresponding to a particularauthenticated user account to a group-based communication system, and inresponse initiates an authenticated session configured to enable accessto functionality and/or information accessible to the authenticated useraccount via the client device during the authenticated session.

The term “accessible group-based communication channel set” refers tozero or more group-based communication channels that an authenticateduser account is permissioned and/or provisioned to access. In someembodiments, during an authenticated session, a user accesses anaccessible group-based communication channel via a rendered group-basedcommunication interface to display information associated with theaccessed group-based communication channel (e.g., group-basedcommunication messages transmitted within the group-based communicationchannel).

The term “organized channel set” refers to electronically managed dataincluding zero or more group-based communication channels linkedtogether for an associated authenticated user account for rendering. Anorganized channel set provides a data structure for separatinggroup-based communication channels from other group-based communicationchannels, and to render such group-based communication channels to agroup-based communication interface based on one or more organizedchannel set(s). In this regard, an organized channel set may be storedassociated with each authenticated user account (e.g., server side orclient side), such that each authenticated user account may organizegroup-based communication channels differently between one or moreorganized channel set(s). The term “organized channel set identifier”refers to one or more identifiers by which an organized channel set maybe uniquely identified by a group-based communication system or clientdevice. In some embodiments, an organized channel set includes or isotherwise associated with an organized channel set identifier, one ormore group-based communication channel identifiers, organized channelset title data, organized channel set image data, an authenticated useraccount identifier, and/or a combination thereof.

In some embodiments, an organized channel set is associated with one ormore organized channel set settings. For example, in some embodiments anorganized channel set is associated with a mute setting (e.g., whethernotifications, badges, and/or the like are rendered for activity thatoccurs within group-based communication channels associated with theorganized channel set). Additionally or alternatively, in someembodiments, an organized channel set is associated with badge settings,for example for one or more group-based communication channel types. Forexample, the badge settings may be associated with a value (i.e., textdata, image data, color and/or other formatting data for use inrendering badges and/or other notifications associated with activity inone or more group-based communication channels associated with theorganized channel set). In this regard, a user associated with aparticular authenticated user account may set a first badge settingsvalue associated with direct group-based communication channels linkedto the organized channel set (e.g., for use in rendering a notificationbadge associated with activity, such as group-based communicationmessage posting, within one or more linked single-user and/or multi-userdirect group-based communication channels), a second badge settingsvalue associated with external resource group-based communicationchannels linked to the organized channel set, and/or the like.

The term “organized channel set interface element” refers to aninterface component rendered within a group-based communicationinterface, or sub-interface thereof, for displaying informationassociated with an organized channel set. An organized channel setinterface element includes at least data associated with eachgroup-based communication channel linked within the organized channelset (e.g., a group-based communication channel title). In someembodiments, an organized channel set interface element additionallyincludes organized channel set title data and/or organized channel setimage data, for example to visually distinguish the organized channelset interface element from one or more other organized channel setinterface elements.

The term “channel order” refers to data and/or information representingan order that group-based communication channels within an organizedchannel set are to be rendered via an organized channel set interfaceelement. In some embodiments, a channel order is user-defined for aparticular authenticated user account. A channel order may be updated,for example based on particular user interaction, to change the orderthat group-based communication channels of a particular organizedchannel set are rendered within a corresponding organized channel setinterface element. For example, in some embodiments, an organizedchannel set is associated with a channel order such that, when renderedvia an organized channel set interface element, the channel orderdefines each position within a list for the group-based communicationchannels to be rendered. In some embodiments, an organized channel setstores associated group-based communication channels within a structureddata object (e.g., a vector or ordered list), such that the channelorder is embodied by the positions of each group-based communicationchannel identifier within the structured data object. In otherembodiments, a channel order is embodied by a separate data objectincluded in the organized channel set that links a group-basedcommunication channel within the organized channel set to a particularordinal.

The term “channel reordering interaction data” refers to user engagementwith a client device that represents a user desire to update a channelorder for a particular organized channel set. In some embodiments,channel reorder user interaction data is received in response to userinteraction with one or more group-based communication channels renderedwithin an organized channel set interface element. For example, in someembodiments, channel reordering interaction data represents a userdrag-and-drop of a first group-based communication channel above and/orbelow a second group-based communication channel indicating a userdesire to update the channel order for the organized channel set basedon the drag-and-drop action.

The term “organized channel set order” refers to data and/or informationrepresenting an order that organized channel sets associated with aparticular authenticated user account, and/or particular accessedworkspace, are to be rendered within a group-based communicationinterface. In some embodiments, an organized channel set order isuser-defined for a particular group-based communication interfaceassociated with a group-based workspace. An organized channel set ordermay be updated, for example based on particular user interaction, tochange the order that organized channel set interface elementsassociated with the organized channel sets are rendered within acorresponding group-based communication interface. For example, in someembodiments, a set of organized channel sets for a particularauthenticated user account is associated with an organized channel setorder such that, when rendered via corresponding organized channel setinterface elements within a group-based communication interface, theorganized channel set order defines each position within a list for theorganized channel sets to be rendered within the group-basedcommunication interface. In some embodiments, the organized channel setorder is embodied by a structured data object (e.g., a vector or orderedlist, or the like) stored associated with a particular authenticateduser account and/or group-based communication interface.

The term “organized channel set reordering interaction data” refers touser engagement with a client device that represents a user desire toupdate an organized channel set order for a particular set of organizedchannel sets. In some embodiments, organized channel set reorderinginteraction data is received in response to user interaction with one ormore organized channel set interface elements rendered within agroup-based communication interface. For example, in some embodiments,organized channel set reordering interaction data represents a userdrag-and-drop of a first organized channel set interface element aboveand/or below a second organized channel set interface element within agroup-based communication interface, indicating a user desire to updatethe organized channel set order based on the drag-and-drop action.

The term “organized channel set title data” relates to electronicallymanaged data representing a user submitted title for an organizedchannel set. In some embodiments, the organized channel set title dataembodies a string and/or alphanumeric representation that a userprovides as a human-readable description of the intended grouping of thegroup-based communication channels within the organized channel set. Insome embodiments, organized channel set title data includes image-basedtext data, for example representing one or more emojis. For example, anorganized channel set intended to include a user's favorite group-basedcommunication channels may be associated with organized channel settitle data embodying the string “Favorites.” In some embodiments,organized channel set title data is configured to be displayed within anorganized channel set interface element. In some embodiments, theorganized channel set title data for two organized channel sets may beequivalent. In other embodiments, the organized channel set title datafor each organized channel set associated with an authenticated useraccount must be unique, for example such that no two organized channelsets have equivalent organized channel set title data. In some suchembodiments, the organized channel set title data embodies an organizedchannel set identifier.

The term “organized channel set image data” refers to electronicallymanaged data representing a user submitted image for an organizedchannel set. In some embodiments, the organized channel set image dataembodies a user-uploaded image in any of a variety of known image fileformats (e.g., PNG, JPG, TIFF, or the like). Alternatively oradditionally, in some embodiments, organized channel set image dataembodies image-based text data, for example representing one or moreemojis. In some embodiments, organized channel set image data isconfigured to be displayed within an organized channel set interfaceelement, for example additional and/or alternative to organized channelset title data. In some embodiments, the organized channel set imagedata for two organized channel sets may be equivalent. In otherembodiments, the organized channel set image data for two organizedchannel sets must be unique.

The term “organized channel set creation request” refers toelectronically managed data indicating a request to generate a neworganized channel set. In some embodiments, an organized channel setcreation request is transmitted by a client device to a group-basedcommunication system for processing. In some embodiments, the organizedchannel set creation request is generated and/or transmitted by theclient device based on user interaction data with a rendered group-basedcommunication interface. In some embodiments, the organized channel setcreation request includes an authenticated user account identifierassociated with an authenticated user account with which the newlycreated organized channel set is to be linked. Additionally oralternatively, in some embodiments, the organized channel set creationrequest includes a group-based communication interface identifier, orworkspace identifier, associated with the group-based communicationinterface utilized to generate the organized channel set creationrequest. Additionally or alternatively, in some embodiments, theorganized channel set creation request includes organized channel settitle data for the newly created organized channel set. Additionally oralternatively, in some embodiments, the organized channel set creationrequest includes organized channel set image data for the newly createdorganized channel set.

The term “channel organization request” refers to electronically manageddata representing a request to add a group-based communication channelto an organized channel set. In some embodiments, a channel organizationrequest includes at least an organized channel set identifier (e.g.,associated with the organized channel set to which the group-basedcommunication channel is to be added) and a channel identifier (e.g.,associated with the group-based communication channel to be added to theorganized channel set). In some embodiments, the channel organizationrequest is received in response to user interaction with one or moresub-elements of a group-based communication interface.

The term “user interaction data” refers to data generated based on userengagement with a client device and/or associated peripheral.Non-limiting examples of user interaction data include user engagementof a touch area or touch screen, a tactile gesture (e.g., swipe, longpress, and the like), a motion gesture (e.g., moving the user's bodyand/or a device in a predefined motion), a virtual button press, a mouseclick, a scroll, a keyboard press, a peripheral button press, acontroller input, a joystick input, a voice command or other audiointeraction, a remote control input, and/or or a combination thereof. Insome embodiments, user interaction data is associated with particularfunctionality based on a currently rendered user interface, for examplebased on a location and/or type of user interaction data received.

The term “channel organization mode” refers to a state of a group-basedcommunication interface rendered via a client device for enabling accessto user interface elements for creating a new organized channel set,deleting an existing organized channel set, moving one or a plurality ofgroup-based communication channels to a new or existing organizedchannel set, removing one or a plurality of group-based communicationchannels from an existing organized channel set, or any combinationthereof. In some embodiments, a group-based communication interface isaffected by one or more visual effects when a channel organization modeis activated.

The term “selection interface element” refers to an interface elementrendered associated with a group-based communication channel andconfigured to receive user interaction data associated with selectingthe group-based communication channel for management (e.g., moving to anew and/or existing organized channel set, or for removing from anexisting organized channel set). In some embodiments, a group-basedcommunication interface is rendered including a selection interfaceelement for a group-based communication channel when a channelorganization mode is activated. In some such embodiments, one or moreselection interface elements may be interacted with to select a set ofgroup-based communication channels for moving together. Non-limitingexamples of a selection interface element include a checkbox, a toggleswitch, a customized interface effect (e.g., highlighting or bolding agroup-based communication channel when selected, and un-highlighting orun-bolding the group-based communication channel when deselected), orany combination thereof.

The term “selection submission interface element” refers to an interfaceelement rendered to a group-based communication interface configured toreceive user interaction indicating completion of group-basedcommunication channel selection. In some embodiments, a selectionsubmission interface element is configured to receive user interactionto initiate a process for moving selected group-based communicationchannels to a particular organized channel set, or removing selectedgroup-based communication channels from one or more correspondingorganized channel sets.

The term “channel selection data” refers to electronically managed datarepresenting and/or embodying selected group-based communicationchannels. In some embodiments, channel selection data is identifiedand/or received in response to user interaction with a selectionsubmission interface element to complete selection of the group-basedcommunication channels. For example, in some embodiments, channelselection data includes a group-based communication channel identifierfor a selected group-based communication channel, or a plurality ofgroup-based communication channel identifiers associated with aplurality of selected group-based communication channels. In someembodiments, channel selection data further includes an indicatorrepresenting a request to add the selected channel identifiers to aparticular organized channel set, or an indicator representing a requestto remove the selected channel identifiers from their correspondingorganized channel set(s).

Example System Architecture of the Disclosure

The methods, apparatuses, systems, and computer program products of thepresent disclosure may be embodied by any variety of devices. Forexample, a method, apparatus, system, and computer program product of anexample embodiment may be embodied by a fixed computing device, such asa personal computer, computing server, computing workstation, or acombination thereof. Further, an example embodiment may be embodied byany of a variety of mobile terminals, mobile telephones, smartphones,laptop computers, tablet computers, or any combination of theaforementioned devices.

In this regard, FIG. 1 discloses an example computing system in whichembodiments of the present disclosure may operate. FIG. 1 illustrates anoverview for a system configured for group-based communication channelorganization. Specifically, the system includes a client device forcommunicating with a group-based communication system, where thegroup-based communication system provides inter-user group-basedcommunications functionality and facilitates functionality associatedwith one or more external resources. For example, the group-basedcommunication system may provide native group-based communicationfunctionality and/or external resource functionality through provisionof various information for use in rendering one or more speciallyconfigured group-based communication interfaces. The group-basedcommunication system is communicable with one or more client device(s)and/or external resource(s) through one or more communication networks.

Specifically, as illustrated, the system includes a group-basedcommunication system 102. The group-based communication system 102comprises a group-based communication server 102A (“server 102A”) and agroup-based communication datastore 102B (“datastore 102B”). The server102A may be configured to communicate with the datastore 102B to enablethe group-based communication system 102 to provide the functionalitydescribed herein.

The server 102A may be embodied by a computer or a plurality ofcomputers. The server 102A may provide various functionality associatedwith receiving group-based communications, maintaining group-basedcommunications, and/or transmitting group-based communications to one ormore client devices, such as the client devices 104A-104N (collectively“client devices 104”). Additionally or alternatively, the server 102Aprovides various external resource functionality through communicationwith one or more external resources, such as the external resources106A-106N (collectively “external resources 106”). In some suchembodiments, the server 102A facilitates transmission of externalresource information to one or more client devices, for exampleautomatically or in response to a user request. For example, the server102A may be operable to receive and post, or transmit, group-basedcommunications provided by one or more of the client devices 104 and/orexternal resources 106. The server 102A may access the communicationsnetwork 108 to perform one or more of the operations described.

The datastore 102B may be embodied as a data storage device, such as oneor more local storage device(s), one or more cloud storage device(s),network attached storage (“NAS”) device or a plurality of NAS devices,or as a separate database server of plurality of servers. The datastore102B includes information accessed by, receive by, and/or otherwisegenerated and/or processed by the server 102A to facilitate operationsprovided by the group-based communication system 102. For example, thedatastore 102B may be configured to store, without limitation, aplurality of group-based communications associated with a plurality ofworkspaces, group-based communication channels, authenticated useraccounts, and/or the like. Additionally or alternatively, the datastore102B may be configured to store authentication credentials associatedwith various authenticated user accounts, for example to enable a clientdevice to initiate an authenticated session with the group-basedcommunication system 102 and link the client device with anauthenticated user account for enabling the authenticated session.

In some embodiments, the datastore 102B is configured at least forstoring data associated with rendering one or more organized group-basedcommunication interfaces. For example, in some embodiments, thedatastore 102B is configured to store one or more group-basedcommunication channels associated with one or more group-basedworkspaces. Additionally or alternatively, in some embodiments, thedatastore 102B is configured to store permissions associated with eachauthenticated use account for accessing one or more group-basedcommunication interfaces for one or more particular group-basedworkspaces (e.g., “accessible group-based communication interfaces”),and/or one or more of the group-based communication channels for eachaccessible group-based communication interface (e.g., “accessiblegroup-based communication channels”). Additionally or alternatively, insome embodiments, the datastore 102B is configured to store personalizeddata for each authenticated user account for customizing one of thecorresponding accessible group-based communication interfaces. Forexample, additionally or alternatively in some embodiments, thedatastore 102B is configured to store any number of organized channelset(s) created by an authenticated user account for a particularaccessible group-based communication interface. Additionally oralternatively, in some embodiments, the datastore 102B is configured tostore a channel set order for each organized channel set associated witha particular group-based communication interface and/or associatedauthenticated user account, where the channel set order defines theorder for rendering of the group-based communication channels associatedwith, linked to, or otherwise stored in the corresponding organizedchannel set. Additionally or alternatively, in some embodiments, thedatastore 102B is configured to store, for each authenticated useraccount, an organized channel set order associated with each accessiblegroup-based communication interface, where the organized channel setorder defines the order for rendering of the organized channel setsassociated with the corresponding group-based communication interface.

Each of the client devices 104 may be embodied by any of a variety ofcomputing devices as defined above. Electronic data received by thegroup-based communication server 102A from the client devices 104 may beprovided in various forms and via various methods for processing. Forexample, the client devices 104 may include desktop computers, laptopcomputers, smartphones, netbooks, tablet computers, wearables, and/orthe like. Each of the client devices 104 may include a networkinginterface to enable such communications, and/or each of the clientdevices 104 may be associated with a device configured with a networkinterface to enable such communications (e.g., a wearable deviceconnected to a smartphone). The client devices 104 may be configured toenable communications over various networks utilizing various networkinghardware, software, and/or firmware (e.g., Bluetooth between asmartphone and associated wearable, a carrier network between asmartphone and a group-based communication system and/or between awearable and a group-based communication system, and/or one or morewireless and/or wireless networks for communicating via the Internetbetween a client device and a group-based communication system).

In an example context, the client devices 104 may execute an applicationor “app” to enable interaction with the group-based communication system102. Such applications are typically designed for execution via acomputing device dependent on the operating system and/or otherconfigurations associated with the computing device. For example, anapplication may be provided that executes on mobile device operatingsystems such as iOS®, Android®, or Windows®. Alternatively, anapplication may be provided that executes on a personal computeroperating system, such as Windows®, macOS®, Linux®, or another operatingsystem executed on a laptop device, desktop device, or terminal device.These platforms typically provide frameworks that allow applications tocommunicate with one another and/or with particular hardware and/orsoftware components of the client device. For example, the mobileoperating systems and/or personal computer operating systems named aboveeach provide frameworks for interacting with location servicescircuitry, wired and/or wireless network interfaces, user contacts, andother applications. In an example context, the application is embodiedby a group-based communication service application provided by thegroup-based communication system. Communication with hardware andsoftware modules outside of the application is typically provided viaone or more application programming interfaces (APIs) configured by theoperating system for the client device and/or provided via an externalresource.

Alternatively or additionally, the client devices 104 may interact withthe group-based communication system 102 via a web application. In anexample context, the web application is embodied by a web browserexecuted via one of the client devices 104. As yet another example, theclient devices 104 may include various hardware, firmware, and/orsoftware designed to interface with the group-based communication system102.

In some embodiments, one or more of the client devices 104 is configuredto maintain a client datastore (not shown). It should be appreciatedthat the client datastore may be embodied by any number of localdatastores accessible to the client device of the client devices 104. Inthis regard, the client datastore may be utilized for storing settings,parameters, and/or other data for rendering a group-based communicationlayout locally (e.g., without communications with a group-basedcommunications system, such as group-based communication system 102).The client datastore may be configured to store various data locally tothe associated client device of the client devices 104. For example, insome embodiments, the client datastore is configured to storegroup-based communication interface data, any number of associatedorganized channel set(s), a defined organized channel set order for theassociated organized channel set(s), one or more defined channel ordersfor associated organized channel set(s), and/or other settings utilizedfor rendering a group-based communication interface personalizedassociated with an authenticated user account.

In some embodiments, for example, the client datastore is configured atleast for storing data associated with rendering one or more group-basedcommunication interfaces without communicating with the group-basedcommunication system 102. For example, in some embodiments, the clientdatastore is configured to store personalized data for one or moreauthenticated user accounts that accesses the corresponding clientdevice. For example, in some embodiments, the client datastore isconfigured to store any number of organized channel set(s) created by anauthenticated user account and associated with a particular group-basedcommunication interface. Additionally or alternatively, in someembodiments, the client datastore is configured to store a channel setorder for each organized channel set associated with a group-basedcommunication interface, where the channel set order defines the orderfor rendering of the group-based communication channels associated with,linked to, or otherwise stored in the corresponding organized channelset. Additionally or alternatively, in some embodiments, the clientdatastore is configured to store an organized channel set order for agroup-based communication interface, where the organized channel setorder defines the order for rendering of the organized channel setsassociated with the corresponding group-based communication interface.

Each of the external resources 106 represents an external system,resource, service, software application, computer, and/or the like, thatis accessible by a group-based communication system 102 for providingassociated functionality to one or more of the client devices 104 duringan authenticated session. In some embodiments, one or more of theexternal resources 106 (or a specific subset thereof) provide specificfunctionality via one or more group-based communication interfacesprovided by the group-based communication system 102 and rendered to oneor more of the client devices 104. For example, the group-basedcommunication system 102 may access functionality provided by each ofthe external resources 106 via one or more APIs. An external resource ofthe external resources 106 may provide specific functionality and/or aspecific service integrated into a group-based communication interface.In one example, one or more of the external resources 106 may be avalidated software source code repository, or the like, which members ofa particular group-based communication workspace may collectively accessas they collaborate to develop a new software application. Additionallyor alternatively, in another context, one of the external resources 106may provide cloud storage for documents and/or the like. An externalresource of the external resources 106 may be embodied in a variety ofways utilizing a variety of computing devices, for example an externalserver remote from the group-based communication system 102 andaccessible using communications via the communications network 108(e.g., over the Internet for example).

In some embodiments, group-based communication system is configured toaccess an external resource of the external resources 106 utilizing anexternal resource identifier. The external resource identifier mayinclude, or otherwise be associated with and retrievable together with,an external resource access token associated with the external resourceand/or a corresponding group-based communication system, workspace,and/or authenticated user account. A group-based communication system102 may store one or more external resource identifiers including orassociated with external resource access token(s) to enable API requeststo the external resource, which may be tied with a specific externalresource user account linked to a particular authenticated user account.For example, in this regard, an authenticated user account of thegroup-based communication system may be linked to a particular externalresource user account, such that a user may access personalized externalresource functionality.

In some embodiments of an exemplary group-based communication system102, a group-based communication may be sent from a client device of theclient devices 104 to a group-based communication system 102. In variousimplementations, the group-based communication may be sent to thegroup-based communication system 102 over communications network 108directly by one of the client devices 104. In other embodiments, thegroup-based communication may be sent to group-based communicationsystem 102 via one or more intermediaries, such as a messaging server,relay server, and/or the like. In at least one example implementation,the group-based communication may include data such as a communicationidentifier, sending user account identifier, a group identifier, agroup-based communication channel identifier, communications contents(e.g., text, emojis, images, links), attachments (e.g., files),communications hierarchy data (e.g., the group-based communication maybe a reply to another group-based communication), third-party metadata,external resource content, and/or the like.

In one embodiment, one of the client devices 104 may provide thefollowing example group-based communication substantially in the form ofa (Secure) Hypertext Transfer Protocol (“HTTP(S)”) POST messageincluding eXtensible Markup Language (“XML”) formatted data, embodying aparticular request for authenticating user account details to initiatean authenticated session, as provided below:

POST /authrequest.php HTTP/1.1 Host: www.server.com Content-Type:Application/XML Content-Length: 667 <?XML version =“1.0” encoding=“UTF-8”?> <auth_request>  <timestamp>2020-12-31 23:59:59</timestamp> <user_accounts_details>   <user_account_credentials>   <user_name>ID_user_1</user_name>    <password>abc123</password>   //OPTIONAL <cookie>cookieID</cookie>    //OPTIONAL<digital_cert_link>www.mydigitalcertificate.com/JohnDoeDaDoeDoe@gmail.com/mycertifcate.dc</digital_cert_link>   //OPTIONAL <digital_certificate>_DATA_</digital certificate>  </user_account_credentials>  </user_accounts_details> <client_details>//iOS Client with App and Webkit    //it should benoted that although several client details    //sections are provided toshow example variants of client    //sources, further messages willinclude only on to save    //space   <client_IP>10.0.0.123</client_IP>  <user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like MacOS X) AppleWebKit/537.51.2  (KHTML,  like  Gecko)  Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string>  <client_product_type>iPhone6,1</client_product_type>  <client_serial_number>DNXXX1X1XXXX</client_serial_number>  <client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>  <client_OS>iOS</client_OS>  <client_OS_version>7.1.1</client_OS_version>   <client_app_type>appwith webkit</client_app_type>  <app_installed_flag>true</app_installed_flag>  <app_name>nickname.app</app_name>   <app_version>1.0 </app_version>  <app_webkit_name>Mobile Safari</client_webkit_name>  <client_version>537.51.2</client_version>  </client_details> <client_details>//iOS Client with Webbrowser  <client_IP>10.0.0.123</client_IP>   <user_agent_string>Mozilla/5.0(iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML,  like  Gecko)  Version/7.0  Mobile/11D201Safari/9537.53</user_agent_string>   <client_producttype>iPhone6,1</client_product type>  <client_serial_number>DNXXX1X1XXXX</client_serial_number>  <client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>  <client_OS>iOS</client_OS>  <client_OS_version>7.1.1</client_OS_version>   <client_app_type>webbrowser</client_app_type>   <client_name>Mobile Safari</client_name>  <client_version>9537.53</client_version>  </client_details> <client_details>//Android Client with Webbrowser  <client_IP>10.0.0.123</client_IP>   <user_agent_string>Mozilla/5.0 (Linux;  U;  Android  4.0.4;  en-us;  Nexus  S Build/IMM76D) AppleWebKit/534.30  (KHTML,  like  Gecko)  Version/4.0  MobileSafari/534.30</user_agent_string>   <client_product_type>NexusS</client_product_type>  <client_serial_number>YXXXXXXXXZ</client_serial_number>  <client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX- XXXXXXXXXXXXX</client_MD>  <client_OS>Android</client_OS>  <client_OS_version>4.0.4</client_OS_version>   <client_app_type>webbrowser</client_app_type>   <client_name>Mobile Safari</client_name>  <client_version>534.30</client_version>  </client_details> <client_details>//Mac Desktop with Webbrowser  <client_IP>10.0.0.123</client_IP>   <user agent string>Mozilla/5.0 (Macintosh;  Intel  Mac  OS  X  10_9_3) AppleWebKit/537.75.14   (KHTML,  like   Gecko)   Version/7.0.3 Safari/537.75.14</user_agent_string>  <client_product type>MacPro5,1</client_product type>  <client_serial_number>YXXXXXXXXZ</client_serial_number>  <client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX- XXXXXXXXXXXXX</client_MD>  <client_OS>Mac OS X</client_OS>   <client_OSyersion>10.9.3</client_OS_version>   <client_app type>webbrowser</client_app_type>   <client_name>Mobile Safari</client_name>  <client_version>537.75.14</client_version>  </client_details> <message>   <message_identifier>ID_message_10</message_identifier>  <team_identifier>ID_team_1</team_identifier>  <channel_identifier>ID_channel_1</channel_identifier>   <bodycontents>That is an interesting invention. I have attached a copy ourpatent policy.</body contents>  <attachments>patent_policy.pdf</attachments>  </message> </authrequest>

The group-based communication system 102 comprises at least onegroup-based communication server 102A that may create a storage requestdata object based upon the received message to facilitate messageindexing and storage in a group-based communication repository 102B. Inone implementation, the storage request data object may include datasuch as a communication identifier, a group identifier, a group-basedcommunication channel identifier, a sending user account identifier,topics, responses, communication contents (i.e., body contents),attachments, communication hierarchy data, third party metadata,conversation primitive data, and/or the like. For example, thegroup-based communication server 102A may provide the following examplestorage request data object, substantially in the form of a HTTP(S) POSTmessage including XML-formatted data, for example embodying a particularrequest for posting a group-based communication, as provided below:

POST /storage_message.php HTTP/1.1 Host: www.server.com Content-Type:Application/XML Content-Length: 667 <?XML version = “1.0” encoding =“UTF-8”?> <storage_message> <message_identifier>ID_message_10</message_identifier> <team_identifier>ID_team_1</team_identifier> <channel_identifier>ID_channel_1</channel_identifier> <sending_user_identifier>ID_user_1</sending_user_identifier>  <topics>  <topic>disclosures</topic>   <topic>patents</topic>  <topic>policies</topic>  </topics>  <responses>   <response>liked byID_user_2</response>   <response>starred by ID_user_3</response> </responses>  <body contents>That is an interesting disclosure. I haveattached a copy our patent policy.</body contents> <attachments>patent_policy.pdf</attachments>  <conversation_primitive>  conversation includes messages: ID_message_8, ID_message_9,ID_message_10,   ID_message_11, ID_message_12  </conversation_primitive></storage_message>

In embodiments, a sending user account identifier may be associated withthe message communication. In one implementation, the message may beparsed (e.g., using PHP—i.e., the script language derived from PersonalHome Page Tools—commands) to determine a sending user account identifierof the user who sent the group-based communication.

In embodiments, topics may be associated with the group-basedcommunication. In one implementation, the communication contents may beparsed (e.g., using PHP commands) to determine topics discussed in thegroup-based communication. For example, hashtags in the group-basedcommunication may indicate topics associated with the group-basedcommunication. In another example, the group-based communication may beanalyzed (e.g., by itself, with other group-based communications in aconversation primitive) or parsed using a machine learning technique,such as topic modeling, to determine topics associated with thegroup-based communication.

In embodiments, data indicating responses may be associated with thegroup-based communication. For example, responses to the group-basedcommunication by other users may include reactions (e.g., selection ofan emoji associated with the group-based communication, selection of a“like” button associated with the group-based communication), clickingon a hyperlink embedded in the group-based communication, replying tothe group-based communication (e.g., posting a group-based communicationto the group-based communication channel in response to thecommunication), downloading a file associated with the group-basedcommunication, sharing the group-based communication from onegroup-based communication channel to another group-based communicationchannel, pinning the group-based communication, starring the group-basedcommunication, and/or the like. In one implementation, data regardingresponses to the group-based communication by other users may beincluded with the group-based communication, and the group-basedcommunication may be parsed (e.g., using PHP commands) to determine theresponses. In another implementation, data regarding responses to thegroup-based communication may be retrieved from a database. For example,data regarding responses to the group-based communication may beretrieved via a MySQL database command similar to the following:

SELECT messageResponses

FROM MSM_Message

WHERE messageID=ID_message_10.

For example, data regarding responses to the group-based communicationmay be used to determine context for the group-based communication(e.g., a social score for the group-based communication from theperspective of some user). In another example, data regarding responsesto the group-based communication may be analyzed to determine contextregarding the user (e.g., the user's expertise in a topic may bedetermined based on the responses to the user's group-basedcommunication regarding the topic).

In embodiments, attachments may be included with the group-basedcommunication. If there are attachments, files may be associated withthe group-based communication. In one implementation, the group-basedcommunication may be parsed (e.g., using PHP commands) to determine filenames of the attachments. For example, file contents may be analyzed todetermine context for the group-based communication (e.g., a patentpolicy document may indicate that the group-based communication isassociated with the topic “patents”).

In embodiments, third-party metadata may be associated with thegroup-based communication. For example, third-party metadata may provideadditional context regarding the group-based communication or the userthat is specific to a company, group, a group-based communicationworkspace, a group-based communication channel, and/or the like. In oneimplementation, the group-based communication may be parsed (e.g., usingPHP commands) to determine third-party metadata. For example,third-party metadata may indicate whether the user who sent thegroup-based communication is an authorized representative of thegroup-based communication channel (e.g., an authorized representativemay be authorized by the company to respond to questions in thegroup-based communication channel).

In embodiments, a conversation primitive may be associated with thegroup-based communication. In one implementation, a conversationprimitive is an element used to analyze, index, store, and/or the likecommunications. For example, the group-based communication may beanalyzed by itself, and may form its own conversation primitive. Inanother example, the group-based communication may be analyzed alongwith other group-based communications that make up a conversation, andthe group-based communications that make up the conversation may form aconversation primitive. In one implementation, the conversationprimitive may be determined as the group-based communication, aspecified number (e.g., two) of preceding group-based communications anda specified number (e.g., two) of following group-based communications.In another implementation, the conversation primitive may be determinedbased on analysis of topics discussed in the group-based communicationand other group-based communications (e.g., in the group-basedcommunication channel) and/or proximity (e.g., communication send orderproximity, communication send time proximity) of these group-basedcommunications.

In embodiments, various metadata, determined as described above, and/orthe contents of the group-based communication may be used to index thecommunication (e.g., using the conversation primitive) to facilitatevarious facets of searching (i.e., search queries that return resultsfrom group-based communication repository 102B). In at least one exampleimplementation, a storage request data object may be sent fromgroup-based communication server 102A to facilitate indexing ingroup-based communication repository 102B. In another implementation,metadata associated with the group-based communication may be determinedand the communication may be indexed in group-based communicationrepository 102B. In an example embodiment, the group-based communicationmay be indexed such that a company's or a group's communications areindexed separately (e.g., in a separate index associated with the groupand/or company that is not shared with other groups and/or companies).In one implementation, group-based communications may be indexed at aseparate distributed repository (e.g., to facilitate data isolation forsecurity purposes).

If there are attachments associated with the group-based communication,file contents of the associated files may be used to index such files ingroup-based communication repository 102B to facilitate searching. Inone embodiment, the files may be indexed such that a company's or agroup's files are indexed at a separate distributed repository.

Example Apparatuses of the Disclosure

The group-based communication system 102 may be embodied by one or morecomputing systems, such as the apparatus 200 shown in FIG. 2. Theapparatus 200 may include a processor 202, memory 204, input/outputmodule 206, communications module 208, group-based communication module210, and channel organization module 212. The apparatus 200 may beconfigured, using one or more of the modules to execute the operationsdescribed herein.

Although the components are described with respect to functionallimitations, it should be understood that the particular implementationsnecessarily include the use of particular hardware. It should also beunderstood that certain of the components described herein may includesimilar or common hardware. For example, two modules may both leverageuse of the same processor, network interface, storage medium, or thelike to perform their associated functions, such that duplicate hardwareis not required for each module. The use of the term “module” and/or theterm “circuitry” as used herein with respect to components of theapparatus 200 should therefore be understood to include particularhardware configured to perform the functions associated with theparticular module as described herein.

Additionally or alternatively, the terms “module” and “circuitry” shouldbe understood broadly to include hardware and, in some embodiments,software and/or firmware for configuring the hardware. For example, insome embodiments, “module” and “circuitry” may include processingcircuitry, storage media, network interfaces, input/output devices, andthe like. In some embodiments, other elements of the apparatus 200 mayprovide or supplement the functionality of the particular module. Forexample, the processor 202 may provide processing functionality, thememory 204 may provide storage functionality, the communications module208 may provide network interface functionality, and the like, to one ormore of the other modules.

In some embodiments, the processor 202 (and/or co-processor or any otherprocessing circuitry assisting or otherwise associated with theprocessor) may be in communication with the memory 204 via a bus forpassing information among components of the apparatus. The memory 204may be non-transitory and may include, for example, one or more volatileand/or non-volatile memories. In other words, for example, the memorymay be an electronic storage device (e.g., a computer readable storagemedium). The memory 204 may be configured to store information, data,content, applications, instructions, or the like, for enabling theapparatus 200 to carry out various functions in accordance with exampleembodiments of the present disclosure.

The processor 202 may be embodied in any one of a myriad of ways andmay, for example, include one or more processing devices configured toperform independently. Additionally or alternatively, the processor 202may include one or more processors configured in tandem via a bus toenable independent execution of instructions, pipelining, and/ormultithreading. The use of the terms “processor,” “processing module,”and “processing circuitry” may be understood to include a single-coreprocessor, a multi-core processor, multiple processors internal to theapparatus, and/or remote or “cloud” processors.

In an example embodiment, the processor 202 may be configured to executecomputer-coded instructions stored in the memory 204 or otherwiseaccessible to the processor. Alternatively, or additionally, theprocessor 202 may be configured to execute hard-coded functionality. Assuch, whether configured by hardware or software means, or by acombination thereof, the processor 202 may represent an entity (e.g.,physically embodied in circuitry) capable of performing operationsaccording to an embodiment of the present disclosure while configuredaccordingly. Alternatively, as another example, when the processor isembodied as an executor of software instructions, the instructions mayspecifically configure the processor to perform the algorithms and/oroperations described herein when the instructions are executed.

As one example context, the processor 202 may be configured to maintainone or more group-based communication channels accessible by varioususer accounts associated with the client devices 104 (shown in FIG. 1)to enable communication transmission between the client devices 104. Theprocessor 202 ensures that group-based communications intended forexchange between the client devices 104 within the particulargroup-based communication channel are properly disseminated to thoseclient devices 104 for display within respective display windows orparticular interface portions provided via the client devices 104, suchas via a group-based communication service application. In someembodiments, the processor 202 is configured to store and/or maintainone or more organized channel set(s) for one or more authenticated useraccounts and/or one or more group-based communication interfaces.

Moreover, the processor 202 may be configured to synchronize group-basedcommunications transmitted within particular communication channel witha database for storage and/or indexing of the communications therein. Incertain embodiments, the processor 202 may provide stored and/or indexedgroup-based communications for dissemination to client devices 104. Theprocessor 202 may also be configured synchronize such stored and/orindexed group-based communications across various group-basedcommunication interfaces and/or associated group-based communicationchannels therein.

In some embodiments, the apparatus 200 may include input/output module206 that may, in turn, be in communication with processor 202 to provideoutput to the user and, in some embodiments, to receive an indication ofa user input. The input/output module 206 may comprise a user interface(e.g., a group-based communication interface) and may include a displayto which the user interface is rendered. In some embodiments, theinput/output module 206 may comprise a web user interface, a mobileapplication (e.g., a mobile group-based communication serviceapplication), a desktop application (e.g., a desktop group-basedcommunication service application), a linked or networked client device,a kiosk, or the like. In some embodiments, the input/output module 206may also include a keyboard, a mouse, a joystick, a touch screen, touchareas, soft keys, a microphone, a speaker, or other input/outputmechanisms. The processor and/or user interface module comprising theprocessor, for example processor 202, may be configured to control oneor more functions of one or more user interface elements throughcomputer program instructions (e.g., software and/or firmware) stored ona memory accessible to the processor (e.g., memory 204, and/or thelike).

The communications module 208 may be any means such as a device orcircuitry embodied in either hardware or a combination of hardware andsoftware that is configured to receive and/or transmit data from/to anetwork and/or any other device, circuitry, or module in communicationwith the apparatus 200. In this regard, the communications module 208may include, for example, at least a network interface for enablingcommunications with a wired or wireless communication network. Forexample, the communications module 208 may include one or more networkinterface cards, antennas, buses, switches, routers, modems, andsupporting hardware and/or software, or any other device suitable forenabling communications via a network. Additionally or alternatively,the communication interface may include the circuitry for interactingwith the antenna(s) to cause transmission of signals via the antenna(s)or to handle receipt of signals received via the antenna(s).

The group-based communication module 210 includes hardware, software,firmware, and/or a combination thereof, configured to supportfunctionality associated with group-based communication system 102. Thegroup-based communication module 210 may utilize processing circuitry,such as the processor 202, to perform these actions. In someembodiments, the group-based communication module 210 includes hardware,software, firmware, or a combination thereof, to process group-basedcommunications transmitted by one or more external resource(s) and/orone or more client device(s). For example, the group-based communicationmodule 210 may additionally and/or alternatively be configured to senddata and/or receive data from one or more datastores, for exampledatastore 102B. In some implementations, the sent and/or received datamay be data objects embodying one or more group-based communications(e.g., messages, files, links, etc.) organized among a plurality ofgroup-based communication channels. Additionally or alternatively, thegroup-based communication module 210 may provide for authenticatingauthentication credentials to initiate an authenticated sessionassociated with a corresponding client device. During the authenticatedsession, the apparatus 200, for example via the group-basedcommunication module 210 may provide native communication functionalityand/or functionality associated with the external resources. It shouldbe appreciated that, in some embodiments, the group-based communicationmodule 210 may include a separate processor, specially configured fieldprogrammable gate array (FPGA), or a specially configuredapplication-specific integrated circuit (ASIC).

The channel organization module 212 includes hardware, software,firmware, and/or a combination thereof, configured to supportfunctionality associated maintaining organized channel set(s) and/orconfiguring data to cause rendering group-based communication interfacesbased on stored organized channel set(s). The channel organizationmodule 212 may utilize processing circuitry, such as the processor 202,to perform these actions. In some embodiments, the channel organizationmodule 212 includes hardware, software, firmware, or a combinationthereof, to receive and/or process requests for creating a new organizedchannel set and/or deleting an existing organized channel set.Additionally or alternatively, in some embodiments, the channelorganization module 212 includes hardware, software, firmware, or acombination thereof, to receive and/or process requests for storinggroup-based communication channels associated (e.g., within) one or moreorganized channel set(s). Additionally or alternatively, in someembodiments, the channel organization module 212 includes hardware,software, firmware, and/or a combination thereof, to configure data fortransmission to one or more client devices to cause rendering of aspecially configured group-based communication interface, for exampleincluding organized channel set interface elements for one or moreorganized channel set(s). In addition to processing and/or storing suchorganized channel set(s) and/or associated information, the channelorganization module 212 may be configured to maintain such data storedby the apparatus 200. It should be appreciated that, in someembodiments, the channel organization module 212 may include a separateprocessor, specially configured FPGA, or a specially configured ASIC.

In some embodiments, one or more of the aforementioned components iscombined to form a single module. For example, in some embodiments, thegroup-based communication module 210 and/or channel organization module212, and/or processor 202, are combined into a single module. Thecombined module may be configured to perform some or all of thefunctionality described above with respect to the individual modules.Additionally or alternatively, in some embodiments, one or more of themodules described above may be configured to perform one or more of theactions described with respect to one or more of the other modules.

Any of the client devices 104 may be embodied by one or more computingsystems, such as the apparatus 300 shown in FIG. 3. The apparatus 300may include a processor 302, memory 304, input/output module 306,communications module 308, and group-based client management module 310.The apparatus 300 may be configured, using one or more of the modules toexecute the operations described herein.

The modules 302-308 may perform functions similar to those describedabove with respect to the similarly named modules illustrated depictedin the apparatus 200 illustrated in FIG. 2. In the interest of brevity,repeated description of the similarly named components is omitted. Itshould be appreciated that the similarly named components, with respectto FIG. 3 may interact with, or be utilized in conjunction with, one ormore of the modules 310-312 to perform functionality associated withthese modules.

The group-based client management module 310 includes hardware,software, firmware, and/or a combination thereof, configured to supportfunctionality associated with transmitting and/or processing requestsfor generating, deleting, and/or maintaining organized channel set(s),and/or rendering group-based communication interfaces specificallyconfigured based on the organized channel set(s). The group-based clientmanagement module 310 may utilize processing circuitry, such as theprocessor 302, to perform these actions. In some embodiments, thegroup-based client management module 310 includes hardware, software,firmware, or a combination thereof, to receive and/or process userinteraction data for generating a new organized channel set, deleting anexisting organized channel set, renaming and/or modifying an organizedchannel set, adding one or more group-based communication channels to anorganized channel set, removing one or more group-based communicationchannels from an organized channel set, and/or moving one or moregroup-based communication channels between organized channel sets. Thegroup-based client management module 310 may provide such functionalityby storing and/or otherwise maintaining specific information tofacilitate such functionality and/or utilizing such information inrendering a corresponding group-based communication interface. It shouldbe appreciated that, in some embodiments, the group-based clientmanagement module 310 may include a separate processor, speciallyconfigured FPGA, or a specially configured ASIC.

In some embodiments, one or more of the aforementioned components iscombined to form a single module. For example, in some embodiments, thegroup-based client management module 310 is combined with one or moreother components, such as processor 302, into a single module. Thecombined module may be configured to perform some or all of thefunctionality described above with respect to the individual modules.Additionally or alternatively, in some embodiments, one or more of themodules described above may be configured to perform one or more of theactions described with respect to one or more of the other modules.

As described above, and as will be appreciated based on this disclosure,embodiments of the present disclosure may be configured as methods,mobile devices, frontend graphical user interfaces, backend networkdevices, and the like. Accordingly, embodiments may comprise variousmeans including entirely hardware, entirely software, or a combinationof hardware and software. Furthermore, embodiments may take the form ofa computer program product on at least one non-transitorycomputer-readable storage medium having computer-readable programinstructions (e.g., computer software) embodied in the storage medium.Similarly, embodiments may take the form of computer program code storedon at least one non-transitory computer-readable storage medium. Anysuitable computer-readable storage medium may be utilized includingnon-transitory hard disks, CD-ROMs, flash memory, optical storagedevices, or magnetic storage devices.

As will be appreciated, any such computer program instructions and/orother type of code may be loaded onto a computer, processor or otherprogrammable apparatus circuitry to produce a machine, such that thecomputer, processor, or other programmable circuitry that execute thecode on the machine creates the means for implementing variousfunctions, including those described herein.

The computing systems described herein can include clients and servers.A client and server are generally remote from each other and typicallyinteract through a communication network. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits information/data (e.g., an HTML page orparseable data representation) to a client device (e.g., for purposes ofdisplaying information/data to and receiving user input from a userinteracting with the client device). Information/data generated at theclient device (e.g., a result of the user interaction) can be receivedfrom the client device at the server.

While this disclosure contains many specific implementation details,these should not be construed as limitations on the scope of thisdisclosure or of what may be claimed, but rather as description offeatures specific to particular embodiments of particular inventions.Certain features that are described herein in the context of separateembodiments can also be implemented in combination in a singleembodiment. Conversely, various features that are described in thecontext of a single embodiment can also be implemented in multipleembodiments separately or in any suitable sub-combination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asub-combination or variation of a sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults, unless described otherwise. In certain circumstances,multitasking and parallel processing may be advantageous. Moreover, theseparation of various system components in the embodiments describedabove should not be understood as requiring such separation in allembodiments, and it should be understood that the described programcomponents and systems can generally be integrated together in a singlesoftware product or packaged into multiple software products. Anyoperational step shown in broken lines in one or more flow diagramsillustrated herein are optional for purposes of the depicted embodiment.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults, unless described otherwise. In certain implementations,multitasking and parallel processing may be advantageous.

Example Interfaces of the Disclosure

FIGS. 4-9 illustrate various group-based communication interfaces, andcomponents thereof, for providing group-based communication channelorganization. It should be appreciated that, in some embodiments, one ormore of the interface elements illustrated are rendered to one or moredisplays associated with various computing hardware described herein.For example, in some embodiments, the one or more interfaces arerendered to a display associated with a client device in communicationwith a group-based communication system. For example, the interfaces maybe rendered to a display associated with a specially configuredapparatus, such as apparatus 300. In some embodiments, the apparatus 300is configured to maintain all data required for causing rendering of thevarious interfaces. In some embodiments, the interfaces are rendered viadata communications with a group-based communication system, for exampleembodied by a specially configured apparatus, such as apparatus 200, forexample to receive data utilized in rendering one or more interfaceelements (e.g., organized channel set interface elements, a channellist, group-based communications, and/or the like).

For example, FIG. 4 illustrates an example group-based communicationinterface 400 rendered in accordance with at least an example embodimentof the present disclosure. The group-based communication interface 400comprises a sidebar interface 402 and content interface 404. In someembodiments, the sidebar interface 402 is configured based on one ormore of an authenticated user account and/or a selected group-basedworkspace. For example, in an example context, the group-basedcommunication interface 400 is configured for a user Jane Lee,” who maybe associated with an authenticated user account. Additionally, in theexample context, the group-based communication interface 400 isconfigured based on a selected group-based workspace of “Acme Corp.” Inthis regard, the sidebar 402 of the group-based communication interface400 may be configured based on the various group-based communicationchannels accessible by the authenticated user account within theselected group-based workspace.

In particular, the sidebar interface 402 comprises various speciallyconfigured interface elements for organizing group-based communicationchannels (e.g. “channels”) accessible to the authenticated user account.For example, sidebar interface 402 comprises an organized channel setinterface element 406. The organized channel set interface element 406may depict a visual representation of an organized channel set linked tothe group-based communication interface 400 for the particularauthenticated user account accessing the group-based communicationinterface (e.g., the authenticated user account associated with userJane Lee). The organized channel set associated with organized channelset interface element 406 may have been created by user Jane Lee via theauthenticated user account as described herein.

Each organized channel set interface element may further comprise one ormore sub-interface elements. For example, as illustrated, the organizedchannel set interface element 406 comprises organized channel set imageelement 406A. In some such embodiments, the organized channel set imageelement 406A is rendered based on organized channel set image datawithin the corresponding organized channel set. The organized channelset image element 406A provides a particular visual indicator, forexample that is set by the authenticated user account, for use inidentifying the organized channel set interface element and/or conveyinguser-level information associated with the organized channel set imageelement (e.g., the user may use a star to denote an organized channelset interface associated with an organized channel set including theuser's favorite and/or most used channels). In some embodiments, theorganized channel set image element is optional, for example such thatno rendered organized channel interface element(s) includes an organizedchannel set image element, or the user my provide organized channel setimage data for only a desired subset of organized channel sets.

Additionally, as illustrated, the organized channel set interfaceelement 406 comprises organized channel set title element 406B. In somesuch embodiments, the organized channel set title element 406B isrendered based on organized channel set title data within thecorresponding organized channel set. The organized channel set titleelement 406B may provide a user-input identifier, such as a string, usedto identify the organized channel set interface element 406. It shouldbe appreciated that, in some embodiments, the organized channel settitle data is unique such that the organized channel set title datafunctions as a unique identifier for purposes of storing and/ordifferentiating between organized channel sets. In other embodiments,organized channel sets are identified using another identifier (a UUIDor GUID, for example a randomly generated object identifier), such thatan organized channel set title data between various organized channelsets need not be unique.

Additionally, in some embodiments, the organized channel set interfaceelement 406 comprises any number of rendered interface elements, eachassociated with a group-based communication channel stored within,and/or otherwise associated with, the organized channel set. Forexample, if the organized channel set is associated with two group-basedcommunication channels, both group-based communication channels may berendered within the organized channel set interface element 406. Asillustrated, the organized channel set interface element 406 includes nosuch sub-interfaces, indicating the corresponding organized channel setis associated with zero group-based communication channels (e.g.,because it is newly created, had all links to associated group-basedcommunication channels removed, or otherwise has not yet been associatedwith any group-based communication channels). In some embodiments, insome such circumstances, one or more default message elements may berendered within the organized channel set interface element.

As described herein, in some embodiments, an authenticated user accountis associated with any number of organized channel sets associated witha particular group-based communication interface linked to a givengroup-based workspace. Accordingly sidebar interface 402 may compriseany number of organized channel set interface elements, such that anorganized channel set interface element is rendered within the sidebarinterface 402 for each associated organized channel set. In some suchembodiments, each organized channel set interface is collapsible, forexample such that the group-based communication channels are hiddenand/or otherwise not rendered. In a particular example context, forexample, the organized channel set interface element 406 is collapsibleusing a collapsible interface element rendered to the left of theorganized channel set image element 406A, which in other embodiments maybe rendered using any of a number of known interface controls, knowninterface images, custom interface images, and/or the like. Whencollapsed, the organized channel set interface element 406 is renderedincluding only the organized channel set image interface 406A and/ororganized channel set title interface 406B, and an interface element forun-collapsing the organized interface set interface element 406 (whichmay be the same interface element for collapsing the organized channelset interface element 406, with altered functionality).

Additionally or alternatively, in some embodiments, the organizedchannel set interface element 406 includes one or more sub-interfacesfor conveying notification information and/or other summary informationfor the group-based communication channels associated with the organizedchannel set corresponding to the organized channel set interface element406. For example, in some embodiments, the organized channel setinterface element 406 includes a badge notification indicating unreadand/or newly received activity (i.e., posted group-based communicationmessages) within associated group-based communication channels. In someembodiments, the organized channel set interface element 406 includesone or more notification badge(s) rendered based on badge settingsstored associated with the organized channel set corresponding to theorganized channel set interface element 406. For example, in someembodiments, a first notification badge is rendered for unread activityoccurring in direct group-based communication channels associated withthe organized channel set corresponding to the organized channel setinterface element 406, and a second notification badge is rendered forunread activity occurring in external resource group-based communicationchannels associated with the organized channel set corresponding to theorganized channel set interface element 406. In this regard, in someembodiments, the first notification badge is rendered based on a firstbadge setting value associated with the organized channel set (e.g., afirst badge setting value stored associated with the direct group-basedcommunication channel type), and the second notification badge isrendered based on a second badge setting value associated with theorganized channel set (e.g., a second badge setting value storedassociated with the external resource group-based communication channeltype). Alternatively or additionally, in some embodiments, only a singlenotification badge is rendered (e.g., a notification badge associatedwith the group-based communication channel type having the greatestcount of unread activity for group-based communication channelsassociated with the organized channel set). It should be appreciatedthat, in some embodiments, each organized channel set may be storedassociated with different notification settings, for example badgesettings, such that each organized channel set may be rendered uniquelybased on the particular desires of the user associated with anauthenticated user account.

As rendered, the sidebar interface 402 further comprises an accessiblegroup-based communication channel set 408. The accessible group-basedcommunication channel set 408 includes any number of group-basedcommunication channels accessible within the particular group-basedcommunication interface (e.g., group-based communication channels withinthe corresponding group-based communication workspace) or otherwiseassociated with the authenticated user account (e.g., direct group-basedcommunication channels accessible in one or a plurality of group-basedcommunication interfaces). The accessible group-based communicationchannel set 408 may be sorted into various groupings, for example basedon one or more user-created groupings and/or automatically based on oneor more parameters. For example, as illustrated, the accessiblegroup-based communication channel set 408 is grouped based on thegroup-based communication channel type for each group-basedcommunication, and given an appropriate header. In some embodiments,such default groupings cannot be added to by a user (e.g., group-basedcommunication channels can only be moved to an organized channel set, orplaced in their default group). In other embodiments, each defaultgrouping embodies another organized channel set. It should beappreciated that, in some embodiments, the accessible group-basedcommunication channel set 408 is embodied by a single grouping, suchthat a user may organize all group-based communication channels intovarious organized channel set(s) as the user desires.

The group-based communication interface 400 further comprises a contentinterface 404. The content interface 404 may include any of a variety ofdata and/or information associated with an accessed group-basedcommunication channel. For example, as illustrated, the user may selectthe “#announce-global” channel, as indicated by a bolding, color change,highlight, and/or other visual effect applied to the group-basedcommunication channel. In response, the content interface 404 may beupdated to include particular information associated with the“#announce-global” channel, such as group-based communication messagestransmitted associated with (e.g., “within”) the group-basedcommunication channel. It should be appreciated that the accessedgroup-based communication channel may be associated with any number ofgroup-based communication messages having various content, senders,and/or the like, where one or more of the group-based communicationmessages are rendered within the content interface 404 at a time (notshown). In some embodiments, the content interface 404 includes a scrollview for navigating throughout the history of group-based communicationmessages transmitted within the accessed group-based communicationchannel and viewable by the authenticated user account.

In some embodiments, organized channel sets within the group-basedcommunication interface are configured for reorganization. For example,in some embodiments, each organized channel set interface element isconfigured to receive user interaction for reordering the organizedchannel set interface elements. For example, as illustrated in a contextwhere each of the groupings of the accessible group-based communicationchannel set 408 comprises an organized channel set, the organizedchannel set interface element 406 may be configured to be reorderedutilizing a drag-and-drop action. In this regard, the user may pressdown, click on, and/or otherwise interact with the organized channel setinterface element 406 and drag it below another group (e.g., the“Channels” set) to update the sidebar interface 402 of the group-basedcommunication interface 400, causing the organized channel set interfaceelement 406 to be rendered under the “Channels” set. In some suchembodiments, in response to the user interaction and/or to otherwisefacilitate the reordering of the organized channel sets, the clientdevice and/or group-based communication system receives correspondingorganized channel set reordering interaction data for furtherprocessing.

Additionally or alternatively, in some embodiments, group-basedcommunication channels within one or more organized channel set(s) areconfigured for reorganization. In this regard, the group-basedcommunication channels may be reordered within their respectiveorganized channel set. For example, in some embodiments, eachgroup-based communication channel in the accessible group-basedcommunication channel set 408 may be configured to receive userinteraction data for reordering. In some embodiments, the group-basedcommunication channels are similarly configured to be reorderedutilizing a drag-and drop action. In this regard, the user may pressdown, click on, and/or otherwise interact with a group-basedcommunication channel, and drag it above and/or below anothergroup-based communication channel in the same organized channel set toupdate the group-based communication interface to position thegroup-based communication channels based on the release location (e.g.,move the dragged group-based communication channel below the othergroup-based communication channel if released below other group-basedcommunication channel). In some such embodiments, in response to theuser interaction and/or to otherwise facilitate the reordering of thegroup-based communication channels within an organized channel set, theclient device and/or group-based communication system receivescorresponding channel set reordering interaction data for furtherprocessing.

Additionally or alternatively, in some embodiments, each group-basedcommunication channel is configured to be added to a new organizedchannel set and/or otherwise moved from a first organized channel set toa second organized channel set. For example, in some embodiments, eachgroup-based communication channel is configured to receive userinteraction for adding the group-based communication channel to aparticular organized channel set. As illustrated, for example, any ofthe group-based communication channels in the accessible group-basedcommunication channel set 408 may be configured to receive userinteraction for adding the group-based communication channel to theorganized channel set corresponding to the organized channel interfaceelement 406. In some embodiments, the group-based communication channelis similarly added to an organized channel set and/or moved betweenorganized channel sets using a drag-and-drop action. For example, insome embodiments, the user may press down, click on, and/or otherwiseinteract with a group-based communication channel, and drag it tointeract with an organized channel set interface element for anorganized channel set with which the group-based communication channelis not currently associated. Upon releasing the group-basedcommunication channel, the group-based communication channel may benewly added to the organized channel set associated with the organizedchannel set interface element where it was released, and/or removed fromthe organized channel set with which it was previously associated. Thegroup-based communication interface may then be updated accordingly, forexample by re-rendering the sidebar interface 402 and/or one or moresub-components thereof (e.g., re-rendering at least the organizedchannel set interface elements associated with the interaction). In somesuch embodiments, in response to the user interaction and/or tootherwise facilitate the reordering of the group-based communicationchannels into a new organized channel set, the client device and/orgroup-based communication system receives a channel organization requestfor further processing.

In this regard, it should be appreciated that in some embodiments, asingle type of user interaction is utilized to facilitate variousfunctionality. Accordingly, embodiments herein may be configured todetermine the beginning and/or end location associated with a userinteraction, for example by parsing the interaction data and/orotherwise processing the interaction data for such determinations. Suchembodiments may be configured to initiate an appropriate action based onthe parsed and/or processed interaction data (e.g., to determine whethera group-based communication was dragged onto another group-basedcommunication channel within a shared organized channel set interfaceelement, over a different organized channel set interface element, orthe like. For example, in some embodiments, a group-based communicationchannel may be removed from its organized channel set and associatedwith a default grouping using a drag-and-drop action that releases thegroup-based communication channel not over any existing organizedchannel set interface element (such as when released over the contentinterface 404).

Additionally or alternatively, in some embodiments, the group-basedcommunication interface may be organized by activating an channelorganization mode configured to enable efficient and/or structuredorganization of elements rendered via the sidebar interface 402. Asillustrated in FIG. 5, for example, the sidebar interface comprisesinterface settings button 502. The interface settings button 502 may beconfigured to enable access to one or more settings, parameters, and/orother data values associated with the group-based communicationinterface 400. For example, in at least one example embodiment, theinterface settings button 502 is configured to receive user interaction.In response to such user interaction, the group-based communicationinterface 400 may be updated to include the channel organization modal504. The channel organization modal 504 may include one or moresub-interface elements therein, for example an interface element foractivating a channel organization mode and/or an interface element fordeactivating a channel organization mode. In some embodiments, a singleinterface element is utilized to activate a channel organization mode(e.g., when not currently activated) and deactivate the channelorganization mode (e.g., when currently activated). It should beappreciated that, in some embodiments, the channel organization modal504 may include one or more interface elements for organizing and/oraltering rendered components of the sidebar interface 402. For examplein some embodiments, as illustrated, the channel organization model 504includes one or more interface elements associated with limitingrenderings to the sidebar interface 402 (e.g., notifications, badges,and/or the like). Additionally or alternatively, the channelorganization modal 504 may include a limited subset of interfaceelements for altering specific settings, and provide an interfaceelement for accessing a full list of settings associated with managingrenderings to the sidebar interface 402.

FIGS. 6A-6C illustrate various states of the group-based communicationinterface 400 while a channel organization mode is activated. Thechannel organization mode may have been activated in response to userinteraction with the channel organization modal 504, for example aparticular sub-interface element thereof. In some embodiments, while achannel organization mode is activated, one or more sub-interfaces ofthe group-based communication interface 400 may be rendered utilizing avisual effect. In some embodiments, for example as illustrated, thecontent interface 404 is rendered using a darkened color (e.g., asemi-transparent darkened view with a determined and/or predefinedtransparency) over the content thereof. In some embodiments, one or moreother interfaces is similarly affected (e.g., a flex interfaceassociated with the group-based communication interface 400). The visualeffect may help indicate to the user that a channel organization mode isactivated. Additionally or alternatively, in some embodiments, thesub-interfaces affected by the visual effect may not receive userinteraction while the channel organization mode is activated. In thisregard, in some such embodiments, the visual effect draws attention fromto the sidebar interface 402 while the channel organization mode isactivated. It should be appreciated that the visual effects may beremoved upon deactivation of the channel organization mode, such thatrendering of the affected interfaces returns to normal.

In some embodiments, upon activation of the channel organization mode,the sidebar interface 402 is updated to include one or more interfaceelements configured to facilitate channel organization. For example, asillustrated, while in sidebar interface 402 includes the selectionsubmission interface element 602 and the selection interface element set604. Additionally or alternatively, in some embodiments, the sidebarinterface 402 is configured to include one or more interface elementsfor completing and/or otherwise finalizing channel organization actionsperformed while channel organization mode is activated (e.g., a “done”button) and/or for reverting channel organization actions performedwhile channel organization mode is activated (e.g., a “cancel” button).In some embodiments, the sidebar interface 402 is configured to berendered without such elements when the channel organization mode isdeactivated.

In an example context as illustrated, selection interface element set604 includes a selection interface element for each group-basedcommunication channel rendered via the sidebar interface 402. In thisregard, each selection interface element in the selection interfaceelement set 604 may be linked to, and/or otherwise associated with, aparticular group-based communication channel rendered to the sidebarinterface 402. Each selection interface element of the selectioninterface element set 604 may be configured to receive user interactionindicating selection of the linked the group-based communication channelfor organizing (e.g., moving to an organized channel set, moving to adifferent organized channel set, and/or removing from an organizedchannel set). In this regard, one or more group-based communicationchannels may be selected for organizing together, for example to enablea user to efficiently generate a new organized channel set with one or aplurality of selected group-based communication channels, or efficientlyadd the one or plurality of selected group-based communication channelsto a particular existing organized channel set.

FIG. 6B illustrates one such context of the group-based communicationinterface 400 with selected group-based communication channels while achannel organization mode is activated. In a particular example context,each selection interface element of the selection interface element set604 comprises a checkbox. The checkbox may be updated upon userinteraction, for example to update a rendering status to “checked” whenthe group-based communication channel is selected and updating therendering status to “unchecked” when the group-based communicationchannel is deselected. Additionally or alternatively, in someembodiments, the selection status of the group-based communicationchannel for each group-based communication channel determines whetherthe group-based communication channel is rendered with a visual effect.For example, in some embodiments, a selected group-based communicationchannel is rendered with a highlighted, bolded, or other visual effect,which may apply to the group-based communication channel alone or thegroup-based communication channel together with its correspondingselection interface element. For example, as illustrated in FIG. 6B, thegroup-based communication channel and corresponding selection interfaceelement of the selection interface element set 604 is highlighted uponselection via the corresponding selection interface element.

In some embodiments, the sidebar interface 402 comprises one or moreinterface elements for adding the group-based communication channels toan organized channel set. For example, as illustrated in FIG. 6C, thesidebar interface 402 comprises selection submission interface element602. The selection submission interface element 602 may be embodied byany number of known interface components. In some embodiments, inresponse to the selection submission interface element 602 one or moreactions are initiated and/or one or more interfaces are rendered forinitiating one or more actions, such as adding the group-basedcommunication channels to an existing organized channel set and/or newchannel set.

For example, as illustrated with respect to FIG. 6C, the organizedchannel set selection modal 606 may be rendered in response to userinteraction with the selection submission interface element 602. Theorganized channel set selection modal 606 may be configured to enableselection of an existing organized channel set and/or creating a neworganized channel set. For example, the organized channel set selectionmodal 606 may include an interface element associated with selectingeach of the organized channel sets associated with the authenticateduser account, such as to add the selected group-based communicationchannels to the selected organized channel set. In this regard, eachinterface element of the organized channel set selection modal 606 maybe configured based on the corresponding organized channel setsassociated with the authenticated user account and/or group-basedcommunication interface. Additionally or alternatively, for example asillustrated, the organized channel set selection modal 606 additionallyincludes an interface element for creating a new organized channel setto which the selected group-based communication messages are to beadded. In response to engagement with the interface element for creatingthe new organized channel set, the group-based communication interface400 may be updated to include interface elements for creating the neworganized channel set.

For example, as illustrated in FIG. 7A, in response to user interactionwith an interface element for creating a new organized channel set, thegroup-based communication interface 400 is configured to include neworganized channel set modal 700 for creating the new organized channelset. As illustrated, in some embodiments, the new organized channel setmodal 700 is rendered over the group-based communication interface 400without particularly being rendered within the sidebar interface 402 orcontent interface 404. FIG. 7B illustrates an independent view of thenew organized channel set modal 700 separate from the group-basedcommunication interface 400.

The new organized channel set modal 700 includes a plurality ofinterface elements for creating the new organized channel set. Forexample, as illustrated, the new organized channel set modal 700includes an organized channel set image input element 702, an organizedchannel set title input element 704, and/or one or more interfaceelements for initiating the creation of the new organized channel setand/or for cancelling creation of the new organized channel set. In someembodiments, the new organized channel set modal 700 additionallyincludes various information and/or text labels for communicating, tothe user, information associated with creating the organized channelset.

In some embodiments, the organized channel set image input element 702is configured to receive organized channel set image data forutilization in creating the new organized channel set. In someembodiments, the organized channel set image input element 702 isconfigured to receive user interaction for inputting organized channelset image data. In some embodiments, in response to user interaction,the user may be prompted with an interface for selecting an image (e.g.,from one or more available files and/or one or more pre-determinedand/or otherwise available image formats). Alternatively oradditionally, in some embodiments, in response to user interaction withthe organized channel set image input element 702, the user may inputone or more text image data, such as one or more emojis, emoticons,stickers, or the like. In should be appreciated that, in someembodiments, the organized channel set image data is input using one ormore keyboards (e.g., physical keyboards and/or virtual keyboards),clicks, and/or other peripherals. The organized channel set image datamay be stored within the newly created organized channel set, forexample upon submission via one or more other interface elements of thenew organized channel set modal 700.

The organized channel set title input element 704 is configured toreceive organized channel set title data for utilization in creating thenew organized channel set. In some embodiments, the organized channelset title input element 704 is configured to receive user interactionfor inputting organized channel set title data. For example, in someembodiments, the user may input organized channel set title data, forexample text data, via one or more keyboards (e.g., physical and/orvirtual keyboard(s)), other peripherals, and/or other inputmethodologies. In some embodiments, the organized channel title dataentered via the organized channel set title input element 704 iscompared to organized channel title data for each existing organizedchannel set to determine whether the entered organized channel titledata is unique. In some embodiments, in a circumstance where theorganized channel title data entered via the organized channel set titleinput element 704 is not unique, one or more error messages are renderedvia the new organized channel set modal 700. In some such embodiments,one or more interface elements, associated with submitting the enteredinformation and creating the corresponding new organized channel set,may be disabled until new, unique organized channel set title data isentered. It should be appreciated that, in some embodiments, theorganized channel set title data may be stored within the newly createdorganized channel set, for example upon submission via one or more otherinterface elements of the new organized channel set modal 700.

FIG. 8 illustrates a de-cluttered sidebar interface 802 including alimited set of group-based communication channels. As illustrated, thesidebar interface 802 includes a limited set of group-basedcommunication channels with respect to the sidebar interface 402. Inthis regard, the user may select one or more organized channel set(s) tocause rendering of the group-based communication channels associatedwith the selected organized channel set(s). In some embodiments, theuser may change between the default sidebar interface 402 and thede-cluttered sidebar interface 802 using a defined user interaction. Forexample, in some embodiments, the user may change between the defaultsidebar interface 402 and the de-cluttered sidebar interface 802 byperforming a swipe action, such as in such a circumstance where suchrenderings are accessible via a page control. It should be appreciatedthat, for a given authenticated user account accessing a particulargroup-based communication interface, the accessible group-basedcommunication channels for the authenticated user account remain thesame regardless of whether such group-based communication channels arerendered to the sidebar interface of the group-based communicationinterface.

The sidebar interface 802 includes channel de-cluttering elements set804. The channel de-cluttering elements set 804 includes any number ofinterface elements configured to receive user interaction forde-cluttering the accessible group-based communication channel set basedon the selected interface element of the channel de-cluttering elementsset 804. For example, in some embodiments, the channel de-clutteringelements set 804 includes at least a de-cluttering interface elementlinked to each organized channel set. Additionally or alternatively, insome embodiments, the channel de-cluttering elements set 804 may includeone or more default interface elements. For example, in someembodiments, the channel de-cluttering elements set 804 includes one ormore interface elements linked to each group-based communication channeltype and/or a set of group-based communication channel type(s) (e.g., aninterface element for de-cluttering based on “direct messages,”including single-user direct group-based communication channels andmulti-user direct group-based communication channels). Each interfaceelement in the channel de-cluttering elements set 804 may be configuredto receive user interaction selecting the interface element, and inresponse to such interaction to initiate one or more processes forde-cluttering the group-based communication channels rendered to thesidebar interface 802. In some embodiments, a selected interface elementof the channel de-cluttering elements set is affected by a visual effectwhile selected (e.g., a color change, a highlight, an animation, boldingor another text effect, or the like). It should be appreciated that,while in some embodiments only one selection may be made, in otherembodiments any number of selections may be made for de-cluttering thesidebar interface 802.

In response to user engagement with one of the interface elements in thechannel de-cluttering elements set 804, the sidebar interface 802 isupdated to reflect a corresponding de-cluttered channel set. In somesuch embodiments, the de-cluttered channel set is based on thegroup-based communication channels linked to, or otherwise associatedwith, a selected organized channel set, where the de-cluttered channelset comprises zero or more group-based communication channels. Forexample, as illustrated in FIG. 8, the interface element associated withthe “Starred” organized channel set is selected (i.e., an organizedchannel set having organized channel set title data as “Starred”). Basedon this selection, the sidebar interface 802 includes the de-clutteredchannel set 806, which as illustrated comprises four group-basedcommunication channels. In this regard, the group-based communicationchannels rendered to the sidebar interface 802 comprises the group-basedcommunication channels linked to the selected organized channel setassociated with the selected interface element of the channelde-cluttering elements set 804. In one example context, the user hadpreviously linked the illustrated group-based communication channelswith the “Starred” organized channel set, for example as described withrespect to one or more of the above-described interfaces and/or via oneor more of the processes described below.

The de-cluttered channel set 806 provides a streamlined visual interfaceas desired by the user. In this regard, one or more organized channelset(s) enable a user to limit the sidebar interface 802 based on thespecific desires of the user. A user may create organized channel setsincluding specific subsets of group-based communication channels, andquickly de-clutter the sidebar interface 802 based on the relevantorganized channel set at any given moment. By doing so, such interfacesremove visual clutter and improve overall experience while limitingrequired user interaction and conserving computing resourcestraditionally required for rendering such interfaces (e.g., networkingresources and/or processing resources).

It should be appreciated that, in some embodiments, additionalfunctionality associated with maintaining organized channel set(s) isprovided, for example via the group-based communication interface 400.For example, in some embodiments the group-based communication interface400 includes sub-interfaces for managing organized channel set(s) in anefficient manner. As illustrated in FIG. 9, for example, the organizedchannel set interface element 406 is rendered including an organizedchannel set editing element 902. In some embodiments, the organizedchannel set editing element 902 is configured to receive userinteraction for editing one or more properties of the associatedorganized channel set. In some embodiments, for example, the organizedchannel set editing element 902 enables a user to efficiently configureone or more group-based communication channel settings for allgroup-based communication channels within the corresponding organizedchannel set. For example, in some embodiments, interaction with theorganized channel set editing element 902 and/or one or morecorresponding sub-interfaces (e.g., another interface element of theorganized channel set editing options modal 904) enables a user toconfigure channel setting value(s) for available each group-basedcommunication channel setting, or a subset thereof. Once submitted, theupdated channel setting values may be utilized to configure thegroup-based communication channel settings for each group-basedcommunication channel associated with the corresponding organizedchannel set, for example while they remain associated with the organizedchannel set or permanently until a subsequent configuration. In thisregard, the organized channel set editing element 902 may enable a userto efficiently configure group-based communication channel settings fora plurality of group-based communication channels with a single, orminimal, user interaction.

For example, in some embodiments, the organized channel set editingoptions modal 904 is rendered in response to user interaction with theorganized channel set editing element 902. In some embodiments, theorganized channel set editing options modal 904 includes any number ofinterface elements, each associated with editing a property of thecorresponding organized channel set. For example, the organized channelset editing options modal 904 includes an interface element for“renaming” the corresponding organized channel set (such as updatingorganized channel set title data and/or organized channel set image datafor the corresponding organized channel set). In some such embodiments,in response to use reengagement with such an interface element, the usermay be presented with the an organized channel set editing modal, forexample including interface elements for inputting updated organizedchannel set image data and/or organized channel set title data (forexample, as described above with respect to the organized channel setimage input element 702 and the organized channel set title inputelement 702). Additionally or alternatively, for example as illustrated,the organized channel set editing options modal 904 includes aninterface element for deleting the corresponding organized interfaceelement. In some embodiments, upon deleting an organized interfaceelement, the sidebar interface element is updated to be rendered withoutthe corresponding organized channel set interface element. For example,interacting with such an interface element of the organized channel setediting options modal 904 may cause updated rendering of the sidebarinterface 402 without the organized channel set interface element 406.In some embodiments, an organized channel set may only be deleted whenthe organized channel set is linked, or otherwise associated with, nogroup-based communication channels (e.g., any previously-linked channelshave been removed or linked to a different organized channel set).

In other embodiments, upon deleting an organized channel set,group-based communication channels previously linked to that organizedchannel set are re-organized according to one or more default rules(e.g., associated with an organized channel set based on group-basedcommunication channel type, associated with a default channel list, orthe like).

Example Operations Performed by EMBODIMENTS OF THE DISCLOSURE

Having described example apparatuses and interfaces for initiatingspecific processes, example flowcharts including various operationsperformed by apparatuses, devices, and/or sub-systems of the abovedescribed systems will now be discussed. It should be appreciated thateach of the flowcharts depicts an example computer-implemented processthat may be performed by one, or more, of the above describedapparatuses, systems, or devices. In regard to the below flowcharts, oneor more of the depicted blocks may be optional in some, or all,embodiments. Optional blocks are depicted with broken (dashed) lines.

It should be appreciated that the particular operations depicted anddescribed below with respect to FIGS. 10-17 illustrate specificoperations or steps that may be performed in a particular process.Further, the process may be implemented by computer hardware, software,or a combination thereof, of a system, apparatus, device, or the like,as a computer-implemented method. In other embodiments, the variousblocks may represent blocks capable of being performed by an apparatus,device, or system. For example, computer-coded instructions may bespecially programmed for performing the various operations depicted andstored for execution by an apparatus, for example in one or more memorydevices for execution by one or more processors. In other embodiments,computer program code capable of executing the operations depicted bythe various blocks may be stored to one or more non-transitory memorydevices associated with a computer program product or other computerreadable storage medium.

In some embodiments, it should be appreciated that the operationsdescribed herein are performed by a group-based communication system,for example embodied by an apparatus 200. In some such embodiments, theuser may interact with the group-based communication system via aspecially configured client device, for example embodied by an apparatus300. The client device may be configured for rendering group-basedcommunication interfaces based on particular data received from thegroup-based communication system, and/or retrieved from the clientdevice based on information received from the group-based communicationsystem. In other embodiments, the client device embodied by theapparatus 300 is configured to perform the operations depicted withoutcommunicating with a group-based communication system, for example suchthat all organized channel sets and/or corresponding information ismaintained and retrieved locally. It should be appreciated that all suchembodiments are to be within the scope of the disclosure herein.

FIG. 10 illustrates an example process for group-based communicationchannel organization. The example process illustrated may be performedby a group-based communication system, for example a group-basedcommunication system 102 embodied by the apparatus 200, and/or a clientdevice 104 embodied by the apparatus 300. In some embodiments theapparatus includes or otherwise is in communication with one or moreother apparatuses, systems, devices, or the like, to facilitate theoperations described herein.

At block 1002, the apparatus includes means configured to receive aninterface rendering request associated with an authenticated useraccount. For example, in some embodiments, the apparatus 200 includesmeans such as the channel organization module 212, communications module208, input/output module 206, processor 202, and/or the like, or acombination thereof, configured to receive the interface renderingrequest from a client device. A user may have previously initiated anauthenticated session associated with an authenticated user account, forexample via the client device. In some embodiments, the interfacerendering request is further associated with a particular group-basedcommunication interface for a particular group-based workspace. Forexample, in this regard, the interface rendering request may includeinformation identifying the accessed group-based communication interface(e.g., a group-based communication interface identifier) and/or theassociated authenticated user account for the client device.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,input/output module 306, processor 302, and/or the like, or acombination thereof, configured to receive the interface renderingrequest in response to user interaction with the apparatus 300. Theinterface rendering request may include a group-based communicationinterface identifier based on the user interaction. A user may havepreviously initiated an authenticated session associated with theauthenticated user account, for example through communication with agroup-based communication system. The apparatus 300 may storeinformation associated with the authenticated user account (e.g., a useraccount identifier or authentication information for maintaining anauthenticated session) to associate the interface rendering request withthe authenticated user account.

At block 1004, the apparatus includes means configured to identify atleast one organized channel set associated with the authenticated useraccount. The at least one organized channel set includes each organizedchannel set previously generated by the authenticated user account, forexample for organizing group-based communication channels within anaccessed group-based communication interface identified by the interfacerendering request. For example, in some embodiments, the apparatus 200includes means such as the channel organization module 212,communications module 208, processor 202, and/or the like, or acombination thereof, configured to identify at least one organizedchannel set associated with the authenticated user account. In someembodiments, the identified at least one organized channel set based onthe authenticated user account and the accessed group-basedcommunication interface. For example, the accessed group-basedcommunication interface may be identified based on a group-basedcommunication interface identifier within the interface renderingrequest. In some embodiments, the apparatus 200 is configured toidentify the at least one organized channel set by communicating withone or more group-based communication datastores, for example asdescribed below with respect to FIG. 11A.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,processor 302, and/or the like, or a combination thereof, configured toidentify at least one organized channel set associated with theauthenticated user account. In some embodiments, the apparatus 300identifies the at least one organized channel set based on theauthenticated user account and the accessed group-based communicationinterface, for example identified from the interface rendering request.In some embodiments, the apparatus 300 is configured to identify the atleast one organized channel set by communicating with one or more clientdatastores, for example as described below with respect to FIG. 11B.

At block 1006, the apparatus includes means configured to causerendering of a group-based communication interface comprising a sidebarinterface, the sidebar interface including at least an organized channelset interface element associated with the at least one organized channelset. For example, in some embodiments, the apparatus 200 includes meanssuch as the channel organization module 212, communications module 208,processor 202, and/or the like, or a combination thereof, configured tocause rendering of a group-based communication interface comprising asidebar interface, the sidebar interface including at least an organizedchannel set interface element associated with the at least one organizedchannel set. In some embodiments, the apparatus 200 is configured tocause rendering of the group-based communication interface bytransmitting the group-based communication interface, or associatedinformation, to a client device for rendering to a display associatedwith the client device. For example, in some embodiments, the apparatus200 is configured to transmit at least the identified at least oneorganized channel set to the client device for rendering. In suchembodiments, the client device may be configured to configure thegroup-based communication interface based on the received at least oneorganized channel set. In some embodiments, the sidebar interface isconfigured to include an organized channel interface element for eachidentified organized channel set. In other embodiments, the sidebarinterface is configured to include organized channel interfaceelement(s) only for a portion thereof.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,processor 302, and/or the like, or a combination thereof, configured tocause rendering of a group-based communication interface comprising asidebar interface, the sidebar interface including at least an organizedchannel set interface associated with the at least one organized channelset. In some embodiments, the apparatus 300 is configured to causerendering to a display integrated with, associated with, and/orotherwise accessible to the apparatus 300. In some embodiments, theapparatus 300 configures the group-based communication interface to havethe sidebar interface include at least one organized channel setinterface element for each of the identified organized channel set(s).It should be appreciated that, in some embodiments, only a portion ofthe organized channel set interfaces are rendered at a time, for exampledepending on resolution and/or display size to which the group-basedcommunication interface is being rendered.

At optional block 1008, the apparatus includes means configured to causerendering of at least one group-based communication channel separatefrom the at least one organized channel set interface element. In someembodiments, the at least one group-based communication channel isrendered to an accessible group-based communication channel set. In somesuch embodiments, the accessible group-based communication channel setincludes, by default, all group-based communication channels not yetadded to an organized channel set and/or that have been removed fromtheir organized channel set. For example, in some embodiments, theapparatus 200 includes means such as the channel organization module212, communications module 208, processor 202, and/or the like, or acombination thereof, configured to cause rendering of at least one othergroup-based communication channel separate from the at least oneorganized channel set interface element associated with the at least oneorganized channel set. In some embodiments, the apparatus 200 isconfigured to cause rendering of the at least one group-basedcommunication channel by transmitting the group-based communicationchannel (or corresponding identification information, such as agroup-based communication identifier) to a client device for rendering.The apparatus 200 may transmit the data associated with the group-basedcommunication channel in a second transmission separated from the datafor rendering the at least one organized channel set interface element,or may be transmitted together (e.g., in the same transmission to theclient device) with the data for rendering the at least one organizedchannel set interface element and separately identified within thetransmission such that the client device can parse the at least onegroup-based communication channel for rendering separately.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,processor 302, and/or the like, or a combination thereof, configured tocause rendering of at least one group-based communication channelseparate from the at least one organized channel set interface elementassociated with the at least one organized channel set. In someembodiments, the apparatus 300 is configured to identify any group-basedcommunication channels not associated with one of the organized channelset(s), and render these group-based communication channels separatefrom the at least one organized channel set interface element. Forexample, the client device 300 may configure the sidebar interface toinclude an accessible group-based communication channel list comprisingthe at least one group-based communication channel for renderingseparate from any organized channel set interface element. Additionallyor alternatively, in other embodiments where the apparatus 300determines that all group-based communication channels are assigned toat least one organized channel set, the apparatus 300 may not render anyseparate group-based communication channels.

In some embodiments, after completion of block 1008, the flow ends. Inother embodiments, after completion of block 1008, the flow continues tothe beginning of any of the flows described herein with respect to FIGS.11A/B or 12-17.

FIG. 11A illustrates additional example operations for an exampleprocess for group-based communication channel organization, specificallyto identify at least one organized channel set associated with anauthenticated user account. In some embodiments, one or more of theoperations depicted with respect to FIG. 11A is/are performed inaddition to, or alternative to, the operations depicted with respect toFIG. 10. In some embodiments, the example process illustrated may beperformed by a group-based communication system, for example agroup-based communication system 102 embodied by the apparatus 200.

As illustrated, the process begins at block 1102, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1002. At block 1102, the apparatus 200 includes means such as thechannel organization module 212, communications module 208, processor202, and/or the like, or a combination thereof, configured to query agroup-based communication datastore based on the authenticated useraccount. In some embodiments, the group-based communication datastore isadditionally queried based on the authenticated user account and theaccessed group-based communication interface, for example identifiedfrom a received interface rendering request. In this regard, theapparatus 200 may generate a query utilizing a user account identifierassociated with the authenticated user account and/or a group-basedcommunication interface identifier associated with the accessedgroup-based communication interface, for example such that thecombination of the identifiers forms search parameters for the query.The group-based communication datastore may be embodied by one or morelocal and/or remote (e.g., “cloud”) datastores associated with theapparatus 200. The group-based communication datastore may becommunicable with the apparatus 200 directly (e.g., under directmanagement by the apparatus 200) or via one or more APIs.

At block 1104, the apparatus 200 includes means such as the channelorganization module 212, communications module 208, processor 202,and/or the like, or a combination thereof, configured to receive the atleast one organized channel set in response to querying the group-basedcommunication datastore. In some such embodiments, the retrievedorganized channel set(s) are associated with both the authenticated useraccount and the accessed group-based communication interface based onthe query. In this regard, the organized channel set(s) representorganized channel set(s) previously created by the authenticated useraccount for the accessed group-based communication interface. It shouldbe appreciated that each organized channel set may be linked to, orotherwise associated with, any number of group-based communicationchannels for the authenticated user account and/or accessed group-basedcommunication interface.

In some such embodiments where the apparatus 200 is configured to storeand/or retrieve the organized channel set(s) via communication with agroup-based communication datastore, such embodiments may provideconsistent interface rendering across a plurality of client devices incommunication with a group-based communication interface. For example, auser may create an organized channel set on a first client device, andlater access the group-based communication system via a second clientdevice. In such an example context, the apparatus 200 may retrieve theorganized channel set(s) through querying the group-based communicationdatastore and provide the organized channel set to cause rendering ofthe group-based communication interface to the second client devicewithout requiring the user to re-create the organized channel set viathe second client device.

In some embodiments, after completion of block 1104, the flow ends. Inother embodiments, after completion of block 1104 the flow returns asubsequent block in another flow, for example to block 1006 asillustrated. In yet other embodiments, after completion of block 1104,the flow continues to the beginning of any of the flows described hereinwith respect to FIG. 10 or 12-17.

FIG. 11B illustrates additional example operations for an exampleprocess for group-based communication channel organization, specificallyto identify at least one organized channel set associated with anauthenticated user account. In some embodiments, one or more of theoperations depicted with respect to FIG. 11B is/are performed inaddition to, or alternative to, the operations depicted with respect toFIG. 10. In some embodiments, the example process illustrated may beperformed by a specially configured client device, for example aspecially configured client device 104 embodied by the apparatus 300.

As illustrated, the process begins at block 1106, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1002. At block 1102, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to query a client datastore based on theauthenticated user account. In some embodiments, the client datastore isadditionally queried based on the authenticated user account and theaccessed group-based communication interface, for example identifiedfrom a received interface rendering request. In this regard, theapparatus 300 may generate a query utilizing a user account identifierassociated with the authenticated user account and/or a group-basedcommunication interface identifier associated with the accessedgroup-based communication interface, for example such that thecombination of the identifiers forms search parameters for the query.The client datastore may be embodied by one or more local datastoresmaintained by the apparatus 300. In this regard, the client datastoremay store information specifically maintained for use by the apparatus300 in rendering group-based communication interfaces and/or performingassociated functionality.

At block 1108, the apparatus 300 includes means such as the group-basedclient management module 310, input/output module 306, communicationsmodule 308, processor 302, and/or the like, or a combination thereof,configured to receive the at least one organized channel set in responseto querying the client datastore. In some such embodiments, theretrieved organized channel set(s) are associated with both theauthenticated user account and the accessed group-based communicationinterface based on the query. In this regard, the organized channelset(s) represent organized channel set(s) previously created by theauthenticated user account for the accessed group-based communicationinterface. It should be appreciated that each organized channel set maybe linked to, or otherwise associated with, any number of group-basedcommunication channels for the authenticated user account and/oraccessed group-based communication interface.

In some such embodiments where the apparatus 300 is configured to storeand/or retrieve the organized channel set(s) via a client datastore,such embodiments may provide individualized channel organization acrossa user's various client devices. Additionally or alternatively, suchembodiments minimize networking resources required to render thecorresponding group-based communication interface utilizing anappropriate layout, as no communications to a group-based communicationsystem may be required. In this regard, such embodiments may function tofunction while network communication services are offline and/orinaccessible.

In some embodiments, after completion of block 1108, the flow ends. Inother embodiments, after completion of block 1108 the flow returns asubsequent block in another flow, for example to block 1006 asillustrated. In yet other embodiments, after completion of block 1108,the flow continues to the beginning of any of the flows described hereinwith respect to FIG. 10 or 12-17.

FIG. 12 illustrates additional example operations for an example processfor group-based communication channel organization, specifically tocreate and store a new organized channel set. In some embodiments, oneor more of the operations depicted with respect to FIG. 12 is/areperformed in addition to, or alternative to, the operations depictedwith respect to FIG. 10. The example process illustrated may beperformed by a group-based communication system, for example agroup-based communication system 102 embodied by the apparatus 200,and/or a client device 104 embodied by the apparatus 300. In someembodiments the apparatus includes or otherwise is in communication withone or more other apparatuses, systems, devices, or the like, tofacilitate the operations described herein.

As illustrated, the process begins at block 1202, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1202, the apparatus includes means configured toreceive an organized channel set creation request associated with anauthenticated user account. For example, in some embodiments, theapparatus 200 includes means such as the channel organization module212, input/output module 206, communications module 208, processor 202,and/or the like, or a combination thereof, configured to receive anorganized channel set creation request associated with the authenticateduser account from a client device, for example over one or morecommunications networks. The organized channel set creation request dataobject may be transmitted by the client device in response to userinteraction with a rendered group-based communication interface, or asub-element thereof. In some embodiments, the organized channel setcreation request includes a user account identifier, or otheridentification information, associated with the authenticated useraccount. Additionally or alternatively, in some embodiments, theorganized channel set creation request includes a group-basedcommunication interface identifier, and/or other identificationinformation, associated with the group-based communication interfacewith which the newly created organized channel set is to be linked. Inthis regard, the organized channel set may be rendered associated withan organized channel set interface element within the associatedgroup-based communication interface.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive an organized channel setcreation request associated with the authenticated user account. In someembodiments, the apparatus 300 receives the organized channel setcreation request in response to user engagement with a renderedinterface element of an accessed group-based communication interface.For example, the apparatus 300 may receive the organized channel setcreation request in response to user engagement with a new organizedchannel set modal as described above, and/or another interface elementassociated with creating a new organized channel set associated with thecurrently accessed group-based communication interface. In someembodiments, the organized channel set creation request includes agroup-based communication interface identifier associated with theaccessed group-based communication interface, or the apparatus 300 isconfigured to automatically identify the group-based communicationinterface identifier and/or other identification information associatedwith the accessed group-based communication interface.

At block 1204, the apparatus includes means configured to generate a neworganized channel set based on the organized channel set creationrequest. The new organized channel set may be generated associated witha unique organized channel set identifier, such that the new organizedchannel set may be uniquely identified from other organized channel setscurrently existing and/or that may be created at a later time. The neworganized channel set may be configured to be linked to any number ofgroup-based communication channels. For example, in some embodiments,the new organized channel set includes a linked group-basedcommunication channel list that includes group-based communicationidentifier(s) and/or other identifying information for linkedgroup-based communication channels. In some such embodiments, bydefault, the linked group-based communication channel list for the neworganized channel set is empty (e.g., not associated with anygroup-based communication channels) upon initial creation.

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, input/output module 206, communicationsmodule 208, processor 202, and/or the like, or a combination thereof,configured to generate the new organized channel set based on theorganized channel set creation request. In this regard, the apparatus200 may be configured to parse the various data included in theorganized channel set creation request to create the new organizedchannel set. For example, the apparatus 200 may be configured to parsethe organized channel set creation request to identify organized channelset title data and/or organized channel set image data to be associatedwith the new organized channel set. In some such embodiments, theorganized channel set title data and/or organized channel set image datamay have been input and submitted by a user via the client device fromwhich the organized channel set creation request is received. In otherembodiments, the apparatus 300 includes means such as the group-basedclient management module 310, input/output module 306, communicationsmodule 308, processor 302, and/or the like, or a combination thereof,configured to generate the new organized channel set based on theorganized channel set creation request. In some such embodiments, theapparatus 300 is configured to parse the organized channel set creationrequest for use in creating the new organized channel set. Alternativelyor additionally, in some embodiments, the apparatus 300 may beconfigured to identify data input via one or more interface componentsfor use in generating the new organized channel set. For example, theapparatus 300 may identify an organized channel set image input elementand be configured to parse organized channel set image data associatedwith the new organized channel set from the organized channel set imageinput element. Additionally or alternatively, for example, the apparatus300 may identify an organized channel set title input element and beconfigured to parse organized channel set title data associated with thenew organized channel set from the organized channel set title inputelement.

At block 1206, the apparatus includes means configured to store the neworganized channel set associated with the authenticated user account.Additionally or alternatively, in some embodiments, the new organizedchannel set is stored associated with the authenticated user account andthe accessed group-based communication interface. In some embodiments,the new organized channel set includes identification informationassociated with the authenticated user account and/or accessedgroup-based communication interface to link the new organized channelset with such data. For example, in some embodiments, the new organizedchannel set includes the user account identifier associated with theauthenticated user account, and/or the group-based communicationinterface identifier associated with the accessed group-basedcommunication interface. In other embodiments, the new organized channelset is stored using a given identifier (e.g., a new organized channelset identifier) associated with the authenticated user accountidentifier, or other identification information, and/or the group-basedcommunication interface identifier, or other identification information.By storing such the new organized channel set associated with theauthenticated user account and/or group-based communication interface,the apparatus may retrieve the organized channel set upon subsequentaccess of the group-based communication interface by the authenticateduser account during an authenticated session, for example in use inrendering a corresponding group-based communication interface.

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, input/output module 206, communicationsmodule 208, processor 202, and/or the like, or a combination thereof,configured to store the new organized channel set associated with theauthenticated user account, and/or the accessed group-basedcommunication interface. In some such embodiments, the apparatus 200 isconfigured to store the new organized channel set in a group-basedcommunication datastore, for example remote from one or more clientdevices. In this regard, the apparatus 200 may retrieve the neworganized channel set for use in rendering the corresponding accessedgroup-based communication interface to any client device associated withthe authenticated user account (e.g., upon establishing and/or otherwiseinitiating an authenticated session associated with the authenticateduser account).

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to store the new organized channel setassociated with the authenticated user account, and/or the accessedgroup-based communication interface. In some such embodiments, theapparatus 300 is configured to store the new organized channel set in aclient datastore, for example locally maintained by the apparatus 300.In this regard, the apparatus 300 may retrieve the new organized channelset for use in subsequent renderings of the accessed group-basedcommunication interface. The new organized channel set may continue tobe locally managed by the apparatus 300, such that the organized channelset will not be reflected in renderings of the accessed group-basedcommunication interface via other client devices, apparatuses, or thelike.

At block optional 1208, the apparatus includes means configured to causeupdated rendering of the group-based communication interface to includea new organized channel set interface element configured based on thenew organized channel set. In this regard, the new organized channel setinterface element may be rendered within the sidebar interface of thegroup-based communication interface. In some embodiments, the neworganized channel set interface element is configured to include one ormore sub-interfaces including the organized channel set title dataand/or organized channel set image data for the new organized channelset. It should be appreciated that, in some embodiments, the updatedrendering includes the new organized channel set interface elementseparate from other organized channel set interface elements for one ormore previously created organized channel set(s).

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, input/output module 206, communicationsmodule 208, processor 202, and/or the like, or a combination thereof,configured to cause updated rendering of the group-based communicationinterface to include a new organized channel set interface elementconfigured based on the new organized channel set. In some suchembodiments, the apparatus 200 is configured to cause rendering of theupdated group-based communication interface by transmitting the updatedgroup-based communication interface, or associated information, to aclient device for rendering to a display associated with the clientdevice. For example, in some embodiments, the apparatus 200 isconfigured to transmit at least the new organized channel set, and/or aparticular subset of information therein (e.g., organized channel settitle data and/or image data) to the client device. In such embodiments,the client device may be configured to update group-based communicationinterface to include the new organized channel set interface elementbased on the received information.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to cause updated rendering of thegroup-based communication interface to include a new organized channelset interface element configured based on the new organized channel set.

For example, in some embodiments, the apparatus 300 is configured tocause rendering to a display integrated with, associated with, and/orotherwise accessible to the apparatus 300. In some embodiments, theapparatus 300 configures the sidebar interface of the group-basedcommunication interface to include the new organized channel setinterface element. The apparatus 300 may configure the new organizedchannel set interface element by parsing information from the neworganized channel set (e.g., organized channel set title data and/orimage data). It should be appreciated that, in some contexts, the neworganized channel set interface element is rendered upon userinteraction with the group-based communication interface (e.g., uponscrolling, in a circumstance where the new organized channel setinterface element does not fit within the sidebar interface).

In some embodiments, after completion of block 1208, the flow ends. Inother embodiments, after completion of block 1208 the flow returns asubsequent block in another flow as illustrated. In yet otherembodiments, after completion of block 1208, the flow continues to thebeginning of any of the flows described herein with respect to FIG.10-11 or 13-17.

FIG. 13 illustrates additional example operations for an example processfor group-based communication channel organization, specifically toorganize at least one group-based communication channel within anorganized channel set. In some embodiments, one or more of theoperations depicted with respect to FIG. 13 is/are performed in additionto, or alternative to, the operations depicted with respect to FIG. 10.The example process illustrated may be performed by a group-basedcommunication system, for example a group-based communication system 102embodied by the apparatus 200, and/or a client device 104 embodied bythe apparatus 300. In some embodiments the apparatus includes orotherwise is in communication with one or more other apparatuses,systems, devices, or the like, to facilitate the operations describedherein.

As illustrated, the process begins at block 1302, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1302, the apparatus includes means configured toreceive a channel organization request. The channel organization requestmay be associated with at least one selected group-based communicationchannel and a selected organized channel set. In this regard, thechannel organization request indicates a user desire to link the atleast one selected group-based communication channel to the selectedorganized channel set (for example, by associating the selectedorganized channel set and at least one selected group-basedcommunication channel(s)).

For example, in some embodiments, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to receive a channel organizationrequest. In some embodiments, the apparatus 200 receives the channelorganization request from a client device, for example in response touser interaction with the client device. In some such embodiments, thechannel organization request includes at least an organized channel setidentifier associated with the selected organized channel set, and agroup-based communication channel identifier for each selectedgroup-based communication channel.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive a channel organizationrequest. In some embodiments, the apparatus 300 receives the channelorganization request in response to user interaction with an accessedgroup-based communication interface, and/or a sub-component thereof. Forexample, in some embodiments, the apparatus 300 receives the channelorganization request in response to user interaction with one or moregroup-based communication channels and/or an organized channel setinterface element rendered to the sidebar of the accessed group-basedcommunication interface. For example, in some embodiments, the channelorganization request is received in response to a drag-and-drop action,such as dragging a group-based communication channel and releasing itover a rendered organized channel set interface element. In otherembodiments, the channel organization request is received based on userinteraction while in an organization mode, for example as describedbelow with respect to FIG. 14.

At optional block 1304, the apparatus includes means configured to storethe at least one selected group-based communication channel associatedwith the selected organized channel set. In some embodiments, eachorganized channel set includes a linked group-based communicationchannel list, such that the selected organized channel set may be linkedto the selected channel set by including the selected organized channels(or corresponding identifiers and/or other identifying information) inthe selected organized channel set stored by the apparatus. In otherembodiments, the apparatus is configured to store one or more recordsincluding the selected organized channel set identifier and the selectedgroup-based communication channel identifiers.

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, input/output module 206, communicationsmodule 208, processor 202, and/or the like, or a combination thereof,configured to store the at least one selected group-based communicationchannel associated with the selected organized channel set within agroup-based communication datastore, for example remote from one or moreclient devices. In this regard, in some embodiments, the apparatus 200retrieves the selected organized channel set from the group-basedcommunication datastore, updates the organized channel set to includethe at least one selected group-based communication channel, and storingthe updated organized channel set. Additionally or alternatively, insome embodiments, the apparatus 200 stores a new record linking theselected organized channel set and the one or more selected group-basedcommunication channels in the group-based communication datastore.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to store the at least one selectedgroup-based communication channel associated with the selected organizedchannel set within a client datastore. In some embodiments, theapparatus 300 is configured to retrieve the selected organized channelset from the client datastore, update the organized channel set toinclude the at least one selected group-based communication channel, andstore the updated organized channel set back to the client datastore.Additionally or alternatively, in some embodiments, the apparatus 300stores a new record to the client datastore that links the selectedorganized channel set and the one or more selected group-basedcommunication channels in the client datastore.

At block 1306, the apparatus includes means configured to cause updatedrendering of a selected organized channel set interface elementassociated with the selected organized channel set to include the atleast one selected group-based communication channel. In this regard,the set of group-based communication channels rendered within theselected organized channel set interface element may be updated toinclude the at least one selected group-based communication channel. Forexample, in some embodiments, the apparatus 200 includes means such asthe channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to cause updated rendering of a selectedorganized channel set interface element associated with the selectedorganized channel set to include the at least one selected group-basedcommunication channel. In some embodiments, for example, the apparatus200 is configured to transmit the updated organized channel set, and/orassociated data, to a client device to cause rendering. Alternatively oradditionally, in some embodiments, the apparatus 200 is configured totransmit the selected group-based communication channels, orcorresponding identification information, to a client device forrendering. The client device may be configured to automatically generateand/or render the corresponding updated organized channel set interfaceelement in response to receiving the data.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to cause updated rendering of a selectedorganized channel set interface element associated with the selectedorganized channel set to include the at least one selected group-basedcommunication channel. For example, in some embodiments, the apparatus300 configures the selected organized channel set interface element tobe updated to include the at least one selected group-basedcommunication channel within a corresponding channel set. Additionallyor alternatively, in some embodiments, the apparatus 300 updates anotherinterface element to remove the group-based communication channel from aprevious interface element where it was rendered. For example, if thegroup-based communication channel was previously associated with asecond organized channel set, the group-based communication channel willno longer be rendered associated with a second organized channel setinterface element corresponding to the second organized channel set andwill be rendered within the selected organized channel set interfaceelement for the selected organized channel set.

It should be appreciated that the process described above with respectto blocks 1302-1306 may similarly be repeated for organizing any numberof group-based communication channels within one or more organizedchannel sets. For example, at block 1308, the apparatus includes meansconfigured to receive a second channel organization request in responseto second user interaction data, the second channel organization requestassociated with at least one second selected group-based communicationchannel and a second selected organized channel set. It should beappreciated that the at least one second selected group-basedcommunication channel may include the same and/or different group-basedcommunication channels than the first selected group-based communicationchannels (e.g., received at block 1302). Similarly, the second selectedorganized channel set may be the same as and/or different from the firstselected organized channel set (e.g., received at block 1302).

Further, in this regard, at block 1308 the apparatus 200 and/orapparatus 300 may be configured to receive the second organizationrequest similarly as described above with respect to block 1302.Additionally or alternatively, in this regard, at block 1310 theapparatus 200 and/or apparatus 300 may be configured to store the atleast one second selected group-based communication channel associatedwith the second selected organized channel set similarly as describedabove with respect to block 1304. Additionally or alternatively, in thisregard, at block 1312 the apparatus 200 and/or apparatus 300 may beconfigured to cause updated rendering of a second organized channel setinterface element associated with the second selected organized channelset to include the at least one second selected group-basedcommunication channel similarly as described above with respect to block1306. In some embodiments, the at least one selected group-basedcommunication channel is represented by a plurality of group-basedcommunication channel identifiers for the selected group-basedcommunication channels. In this regard, in some embodiments, it shouldbe appreciated that the embodiments may be configured to, at one time,store any number of group-based communication channels associated with aselected organized channel set.

In some embodiments, after completion of block 1312, the flow ends. Inother embodiments, after completion of block 1312 the flow returns asubsequent block in another flow as illustrated. In yet otherembodiments, after completion of block 1312, the flow continues to thebeginning of any of the flows described herein with respect to FIG.10-12 or 14-17.

FIG. 14 illustrates additional example operations for an example processfor group-based communication channel organization, specifically toreceive a channel organization request. In some embodiments, one or moreof the operations depicted with respect to FIG. 14 is/are performed inaddition to, or alternative to, the operations depicted with respect toFIG. 13. The example process illustrated may be performed by a clientdevice 104 embodied by the apparatus 300.

As illustrated, the process begins at block 1402, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1402, the apparatus 300 includes means, such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive a first user interaction dataindicating activation of a channel organization mode. In some suchembodiments, the first user interaction data indicates user interactionwith a specific interface element of the group-based communicationinterface indicating a user desire to organize one or more group-basedcommunication channels into one or more organized channel set(s). Forexample, in some embodiments, the first user interaction data isreceived in response to user interaction with a channel organizationmodal, as described above.

At block 1404, the apparatus 300 includes means, such as the group-basedclient management module 310, input/output module 306, communicationsmodule 308, processor 302, and/or the like, or a combination thereof,configured to cause rendering of the group-based communication interfacecomprising at least a selection interface element associated with eachgroup-based communication channel accessible to the authenticated useraccount. The selection interface elements may be rendered to the sidebarinterface of the group-based communication interface, for example nextto the various accessible group-based communication channels associatedwith the authenticated user account. For example, in some embodiments,the apparatus 300 renders the sidebar interface with each selectioninterface element adjacent to the corresponding group-basedcommunication channel within the group-based communication interface. Insome embodiments, to cause rendering of the selection interfaceelements, the apparatus 300 is configured to toggle each selectioninterface element to an unhidden state.

At block 1406, the apparatus 300 includes means, such as the group-basedclient management module 310, input/output module 306, communicationsmodule 308, processor 302, and/or the like, or a combination thereof,configured to receive channel selection data for the at least oneselected group-based communication channel in response to userinteraction with each selection interface element associated with the atleast one selected group-based communication channel. In this regard,for example, the apparatus 300 may receive one or more user touches,taps, gestures, clicks, keypresses, commands, or other user interactionwith a particular selection interface element associated with acorresponding group-based communication channel. In this regard, thechannel selection data indicates the corresponding group-basedcommunication channel has been selected by the user. In response to thechannel selection data, the apparatus 300 may be configured to updateone or more renderings to the group-based communication interface, forexample to reflect the appropriate selected state via the renderedselection interface element and/or corresponding group-basedcommunication channel. It should be appreciated that the channeldeselection data may be similarly received in response to a subsequentuser interaction with the selection interface element for a group-basedcommunication channel in a selected state, for example where the channeldeselection data indicates a user has deselected the group-basedcommunication channel. The channel selection data may indicate selectionof any number of group-based communication channels.

At block 1408, the apparatus 300 includes means, such as the group-basedclient management module 310, input/output module 306, communicationsmodule 308, processor 302, and/or the like, or a combination thereof,configured to receive the channel organization request in response touser interaction with the selection submission interface element. Insome embodiments, the selection submission interface element is renderedto the group-based communication interface for submitting the selectedgroup-based communication channels for adding to an organized channelset. In some embodiments, for example, the user may interact with theselection submission interface element to cause rendering of anorganized channel set selection modal including a number of interfaceelements associated with selectable organized channel sets. For example,the user may interact with the selection submission interface element toaccess the organized channel set selection modal for choosing a selectedorganized channel set from the previously created organized channelsets. In some embodiments, upon interacting with the interface elementassociated with the selected organized channel set and receivingcorresponding interaction data, the apparatus 300 may parse the userinteraction data to identify the selected organized channel set andparse the channel selection data to identify the at least one selectedgroup-based communication channel. In some such embodiments, thecombination of the at least one selected group-based communicationchannel and selected organized channel set may form the channelorganization request. In this regard, the at least one selectedgroup-based communication channel may be based on the channel selectiondata and the selected organized channel set based on the userinteraction data with the selection submission interface.

In some embodiments, after completion of block 1408, the flow ends. Inother embodiments, after completion of block 1408 the flow returns asubsequent block in another flow, for example to block 1304 asillustrated. In yet other embodiments, after completion of block 1408,the flow continues to the beginning of any of the flows described hereinwith respect to FIG. 10-13 or 15-17.

FIG. 15 illustrates additional example operations for an example processfor group-based communication channel organization, specifically toreorganize group-based communication channels within an organizedchannel set. In some embodiments, one or more of the operations depictedwith respect to FIG. 15 is/are performed in addition to, or alternativeto, the operations depicted with respect to FIG. 10. The example processillustrated may be performed by a group-based communication system, forexample a group-based communication system 102 embodied by the apparatus200, and/or a client device 104 embodied by the apparatus 300. In someembodiments the apparatus includes or otherwise is in communication withone or more other apparatuses, systems, devices, or the like, tofacilitate the operations described herein.

As illustrated, the process begins at block 1502, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1502, the apparatus includes means configured toreceive channel reordering user interaction data in response to userinteraction with the selected group-based communication channel. Thechannel reordering user interaction data may represent an actionperformed to change the order of group-based communication channelswithin the selected group-based communication channel. For example, insome embodiments, the channel reordering user interaction data indicatesa movement of one or more group-based communication channels higher in achannel order or lower in a channel order. In one example context, theuser interaction is a drag-and-drop action, for example where a userinteracts with a rendered group-based communication channel to move it(i.e. “drag”) and ceases interaction, or otherwise physically releasesthe group-based communication channel (i.e. “drops”), at a new locationthat defines the new position for the group-based communication channelwithin a channel order.

In some embodiments, for example, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to receive channel reordering userinteraction data in response to user interaction with the selectedgroup-based communication channel. In some such embodiments, the channelreordering user interaction data is received from a client device. Forexample, a user may interact with the group-based communicationinterface rendered to the client device (e.g., using a drag-and-dropaction), such that the client device transmits the channel reorderinguser interaction data in response to completion of the user interaction.In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive channel reordering userinteraction data in response to user interaction with the selectedgroup-based communication channel. In some such embodiments, theapparatus 300 is configured to receive the user interaction (e.g., adrag-and-drop action). In response to completion of the userinteraction, the apparatus 300 may be configured to receive the channelreordering user interaction data for processing. For example, in someexample embodiments, the user interaction data includes a beginninglocation and an end location associated with a drag-and-drop action withrespect to the coordinate window of the group-based communicationinterface and/or display associated with the apparatus 300. In otherembodiments, the channel reordering user interaction data representsuser interaction with a specific interface element associated withreordering the selected group-based communication channel (e.g., anup-arrow for moving the group-based communication channel higher in achannel order, or a down-arrow for moving the group-based communicationlower in the channel order).

At block 1504, the apparatus includes means configured to generate anupdated channel order based on a channel order and the channelreordering user interaction data. In some such embodiments, eachorganized channel set includes, or is otherwise associated with, thechannel order that represents the order for rendering group-basedcommunication channels linked to, or otherwise associated with, theorganized channel set within a corresponding organized channel setinterface element. In some embodiments, the channel reordering userinteraction data is processed to determine whether the selectedgroup-based communication channel should be reordered to a higher orlower position within the channel order. In an example context, wherethe channel reordering user interaction data is associated with adrag-and-drop action, the channel reordering user interaction dataincludes a start location and an end location, for example to identify aselected group-based communication channel based on the start locationand identify whether the selected group-based communication channel wasreleased above and/or below another group-based communication channelassociated with another position in the channel order based on the endlocation. The updated channel order may represent the channel order asupdated to reposition the selected group-based communication channelwithin the channel order based on the channel reordering userinteraction data. For example, if the selected group-based communicationchannel was moved above one or more other group-based communicationchannels, the apparatus may generate the updated channel order toreflect the channel order with all group-based communication channelsbetween the current position and the new position for the selectedgroup-based communication channel shifted down one position (or more ifmultiple selected group-based communication channels were moved atonce).

For example, in some embodiments, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to generate an updated channel orderbased on a channel order and the channel reordering user interactiondata. For example, the apparatus 200 may receive the channel reorderinguser interaction data from a client device, such as over one or morecommunications networks. In this regard, the apparatus 200 may processthe channel reordering user interaction data to generate the updatedchannel order. In an example context, the apparatus 200 is configuredparses the channel ordering user interaction data to identify theselected group-based communication channel. Based on the selectedgroup-based communication channel, the apparatus 200 is configured toidentify an associated organized channel set and corresponding channelorder. The apparatus 200 may further process the channel reordering userinteraction data to identify a new position for the selected group-basedcommunication channel, and generate the updated channel orderaccordingly (e.g., by associating the selected group-based communicationsystem with the new position in the channel order and associating othergroup-based communication channels with a shifted position as required).

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to generate an updated channel orderbased on a channel order and the channel reordering user interactiondata. In this regard, the apparatus 300 may receive the user interactionwith the selected group-based communication channel and process the userinteraction to receive the channel reordering user interaction dataindicating the user requested a reordering of the selected group-basedcommunication channel. In an example context, the apparatus 300 isconfigured to identify the selected group-based communication channel,an associated organized channel set with a corresponding channel order,and/or a new position for the selected group-based communication channelwithin the channel order (e.g., higher or lower than a current positionassociated with the selected group-based communication channel). In someembodiments, the apparatus 300 is configured to generate the updatedchannel order to associate the selected group-based communicationchannel with the new position.

At block 1506, the apparatus includes means configured to cause updatedrendering of the group-based communication interface comprising at leastthe organized channel set interface element rendered based on theupdated channel order. In at least some embodiments, the organizedchannel set interface element is rendered to a sidebar interface of thegroup-based communication interface. In this regard, the updatedgroup-based communication interface comprises the organized channel setinterface element with each associated group-based communication channelrendered in proper positions based on the updated channel order, suchthat the rendered channel order matches the updated channel order.

For example, in some embodiments, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to cause updated rendering of thegroup-based communication interface comprising at least the organizedchannel set interface element rendered based on the updated channelorder. In some embodiments, the apparatus 200 is configured to configurethe updated group-based communication interface and transmit the updatedgroup-based communication interface to a client device to causerendering. Additionally or alternative in some embodiments, theapparatus 200 is configured to transmit the updated channel order, or acorresponding organized channel set including the updated channel order,to a client device to cause rendering of the updated group-basedcommunication interface.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,processor 302, and/or the like, or a combination thereof, configured tocause updated rendering of the group-based communication interfacecomprising at least the organized channel set interface element renderedbased on the updated channel order. In some embodiments, the apparatus300 is configured to cause rendering to a display integrated with,associated with, and/or otherwise accessible to the apparatus 300. Insome embodiments, the apparatus 300 configures the updated group-basedcommunication interface including an organized channel set interfaceelement that includes associated group-based communication channelsrendered in positions based on the updated channel order. The apparatus300 may render the organized channel set interface element within asidebar interface of the group-based communication interface.

In some embodiments, after completion of block 1506, the flow ends. Inother embodiments, after completion of block 1506 the flow returns asubsequent block in another flow as illustrated. In yet otherembodiments, after completion of block 1506, the flow continues to thebeginning of any of the flows described herein with respect to FIG.10-14 or 16.

FIG. 16 illustrates additional example operations for an example processfor group-based communication channel organization, specifically toreorganize organized channel sets for rendering within a group-basedcommunication interface. In some embodiments, one or more of theoperations depicted with respect to FIG. 16 is/are performed in additionto, or alternative to, the operations depicted with respect to FIG. 10.The example process illustrated may be performed by a group-basedcommunication system, for example a group-based communication system 102embodied by the apparatus 200, and/or a client device 104 embodied bythe apparatus 300. In some embodiments the apparatus includes orotherwise is in communication with one or more other apparatuses,systems, devices, or the like, to facilitate the operations describedherein.

As illustrated, the process begins at block 1602, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1602, the apparatus includes means configured toreceive organized channel set reordering user interaction data inresponse to user interaction with a selected organized channel setinterface element. The organized channel set reordering user interactiondata may represent an action performed by the user to change the orderof organized channel set interface elements rendered within agroup-based communication interface, for example within a sidebarinterface of the group-based communication interface. For example, insome embodiments, the organized channel set reordering user interactiondata indicates a movement of an organized channel set interface elementto a higher or lower position in an organized channel set order withrespect to one or more other organized channel set interface elements.In one example context, the user interaction is a drag-and-drop action,for example where a user interacts with a rendered organized channel setinterface element to move it (i.e. “drag”) and ceases interaction, orotherwise physically releases the organized channel set interfaceelement (i.e., “drops”), at a new location that defines a new positionfor the organized channel set interface element within an organizedchannel set order. In this regard, the user interaction andcorresponding organized channel set reordering user interaction data isassociated with the selected organized channel set interface element,and/or a second organized channel set interface element such as theorganized channel set interface element above and/or below which theselected organized channel set interface element was dropped.

In some embodiments, for example, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to receive organized channel setreordering user interaction data in response to user interaction with aselected organized channel set interface element. In some suchembodiments, the apparatus 200 is configured to receive the organizedchannel set reordering user interaction data from a client device. Forexample, a user may interact with the selected organized channel setinterface element rendered to the client device (e.g., using adrag-and-drop action), such that the client device transmits theorganized channel set reordering user interaction data in response tocompletion of the user interaction.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive organized channel setreordering user interaction data in response to user interaction with aselected organized channel set interface element. In some suchembodiments, the apparatus 300 is configured to receive the userinteraction (e.g., the drag-and-drop action). In response to completionof the user interaction, which the apparatus 300 may be configured todetect (for example, the user ceases interaction with the apparatus300), the apparatus 300 may be configured to receive the organizedchannel set reordering user interaction data for processing. Forexample, in some example embodiments, the organized channel setreordering user interaction data includes a beginning location and anend location associated with a drag-and-drop action with respect to thecoordinate window of the group-based communication interface and/ordisplay associated with the apparatus 300. In other embodiments, thechannel reordering user interaction data represents user interactionwith a specific interface element associated with reordering theselected organized channel set associated with the selected organizedchannel set interface element (e.g., an up-arrow for moving theorganized channel set higher in an organized channel set order, or adown-arrow for moving the organized channel set lower in the organizedchannel set order).

At block 1604, the apparatus includes means configured to generate anupdated organized channel set order based on an organized channel setorder and the organized channel set reordering user interaction data. Insome such embodiments, each authenticated user account is associatedwith an organized channel set order for a particular group-basedcommunication interface, where the organized channel set orderrepresents the order for rendering organized channel set interfaceelements within the group-based communication interface. In someembodiments, the organized channel set reordering user interaction datais processed to determine whether the selected organized channel setinterface element should be reordered to a higher or lower positionwithin the organized channel set order. In an example context, where theorganized channel set reordering user interaction data is associatedwith a drag-and-drop action, the organized channel set reordering userinteraction data includes a start location and an end location. In thisregard, the apparatus may process the organized channel set reorderinguser interaction data to identify the selected organized channel setinterface element based on the start location and identify whether theselected organized channel set interface element was released aboveand/or below another organized channel set interface element associatedwith another position in the organized channel set order based on theend location. The updated organized channel set order may represent theorganized channel set order as updated to reposition the selectedorganized channel set within the organized channel set order based onthe organized channel set ordering user interaction data. For example,if the selected organized channel set interface element was moved aboveone or more other organized channel set interface elements, theapparatus may generate the updated organized channel set order toreflect the organized channel set order with all organized channel setsbetween the current position and the new position for the selectedorganized channel set down one position (or more if multiple selectedorganized channel sets were moved at once).

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, input/output module 206, communicationsmodule 208, processor 202, and/or the like, or a combination thereof,configured to generate an updated organized channel set order based onan organized channel set order and the organized channel set reorderinguser interaction data. For example, the apparatus 200 may process theorganized channel set reordering user interaction data received from aclient device, such as over one or more communications networks. In thisregard, the apparatus may process the organized channel set reorderinguser interaction data to generate the updated organized channel setorder. Based on the group-based communication interface within which theselected organized channel set interface element is rendered, theapparatus 200 is configured to identify the organized channel set orderfor the group-based communication interface. In some embodiments, theapparatus 200 stores the organized channel set order for the group-basedcommunication interface associated with the authenticated user account,such that each authenticated user account may personalize the order oforganized channel set interface elements rendered within the group-basedcommunication interface. By parsing the organized channel set reorderinguser interaction data, and/or processing data therein (e.g., a startlocation), the apparatus 200 is configured to identify the selectedorganized channel set interface element. The apparatus 200 may furtherprocess the organized channel set reordering user interaction data toidentify a new position for the selected organized channel set, forexample by parsing the organized channel set reordering user interactiondata to identify a new position therein or by parsing the organizedchannel set reordering user interaction data to identify an end locationand processing the end location to determine a new position. Based onprocessing such information, the apparatus 200 is then configured togenerate the updated organized channel set order accordingly (e.g., byassociating the selected organized channel set with the new position inthe updated organized channel set order and associating other organizedchannel sets with a shifted position as required).

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to generate an updated organized channelset order based on an organized channel set order and the organizedchannel set reordering user interaction data. In this regard, theapparatus 300 may receive the user interaction with the selectedorganized channel set interface element and process the user interactionto receive the organized channel set reordering user interaction dataindicating the user requested a reordering of the organized channel setinterface element within the group-based communication interface. In anexample context, the apparatus 300 is configured to identify thegroup-based communication interface with which the reorganized channelset reordering user interaction data is associated (e.g., the currentlyaccessed group-based communication interface) and/or the authenticateduser account, for use in identifying a corresponding organized channelset order. Additionally or alternatively, the apparatus 300 may processthe organized channel set reordering user interaction data to identifythe selected organized channel set interface element and/or a newposition for the selected organized channel set associated with theselected organized channel set interface element (e.g., higher or lowerthan a current position associated with the selected organized channelset). In some embodiments, the apparatus 300 is configured to generatethe updated organized channel set order to associate the selectedorganized channel set with the new position.

At block 1606, the apparatus includes means configured to cause updatedrendering of the group-based communication interface comprising thesidebar interface, the sidebar interface comprising at least theorganized channel set interface element rendered based on the updatedorganized channel set order. In at least some embodiments, the selectedorganized channel set interface element is one of a plurality oforganized channel set interface elements rendered within the sidebarinterface. The plurality of organized channel set interface elements maybe rendered based on the updated organized channel set order, such thatthe selected organized channel set is rendered at the new position. Inthis regard, the sidebar interface of the updated group-basedcommunication interface comprises each of the organized channel setinterface elements rendered in proper positions based on the updatedorganized channel set order, such that the rendered organized channelset interface element order matches the updated organized channel setinterface order.

For example, in some embodiments, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to cause updated rendering of thegroup-based communication interface comprising the sidebar interface,the sidebar interface comprising at least the selected organized channelset interface element rendered based on the updated organized channelset order. In some embodiments, the apparatus 200 is configured toconfigure the updated group-based communication interface and transmitthe updated group-based communication interface to a client device tocause rendering. Additionally or alternative in some embodiments, theapparatus 200 is configured to transmit the updated organized channelset order, or a corresponding set of organized channel sets associatedwith the group-based communication interface representing the updatedorganized channel set order, to a client device to cause rendering ofthe updated group-based communication interface.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, communications module 308,processor 302, and/or the like, or a combination thereof, configured tocause updated rendering of the group-based communication interfacecomprising the sidebar interface, the sidebar interface comprising atleast the selected organized channel set interface element renderedbased on the updated organized channel set order. In some embodiments,the apparatus 300 is configured to cause rendering to a displayintegrated with, associated with, and/or otherwise accessible to theapparatus 300. In some embodiments, the apparatus 300 configures theupdated group-based communication interface to include the sidebarinterface including a plurality of organized channel set interfaceelements rendered in positions based on the updated organized channelset order for the group-based communication.

In some embodiments, after completion of block 1606, the flow ends. Inother embodiments, after completion of block 1606 the flow returns asubsequent block in another flow as illustrated. In yet otherembodiments, after completion of block 1606, the flow continues to thebeginning of any of the flows described above with respect to FIGS.10-15 and/or 17.

FIG. 17 illustrates additional example operations for an example processfor group-based communication channel organization, specifically toprocess a settings configuration request in accordance with at least oneexample embodiment of the present disclosure. In some embodiments, oneor more of the operations depicted with respect to FIG. 17 is/areperformed in addition to, or alternative to, the operations depictedwith respect to FIG. 10. The example process illustrated may beperformed by a group-based communication system, for example agroup-based communication system 102 embodied by the apparatus 200,and/or a client device 104 embodied by the apparatus 300. In someembodiments the apparatus includes or otherwise is in communication withone or more other apparatuses, systems, devices, or the like, tofacilitate the operations described herein.

As illustrated, the process begins at block 1702, which may occur afterone or more of the blocks as illustrated in FIG. 10, for example afterblock 1008. At block 1702, the apparatus includes means configured toreceive a settings configuration request associated with a selectedorganized channel set in response to user interaction with a selectedorganized channel set interface element. The selected organized channelset interface element embodies a particular organized channel setinterface element within an earlier rendered group-based communicationinterface. In some embodiments for example, the settings configurationrequest is received in response to user interaction with an organizedchannel set editing element, and/or corresponding modal, of the selectedorganized channel set interface element. In some embodiments, thesettings configuration request includes at least an organized channelset identifier corresponding to the selected organized channel set, forexample identified based on the selected organized channel set interfacewith which the user interacted. Additionally or alternatively, in someembodiments, the settings configuration request includes a channelsetting value set for use in configuring one or more correspondinggroup-based communication channel settings.

In some embodiments, for example, the apparatus 200 includes means suchas the channel organization module 212, input/output module 206,communications module 208, processor 202, and/or the like, or acombination thereof, configured to receive the settings configurationrequest associated with the selected organized channel set in responseto user interaction with the selected organized channel set interfaceelement. In some such embodiments, the apparatus 200 is configuredreceive the settings configuration request from a client device, forexample in response to user interaction with the client device. Forexample, a user may interact with the selected organized channel setinterface element rendered to the client device (e.g., via an organizedchannel set editing element within the selected organized channel setinterface element), such that the client device generates and/ortransmits the settings configuration request in response to completionof the user interaction.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, input/output module 306,communications module 308, processor 302, and/or the like, or acombination thereof, configured to receive the settings configurationrequest associated with the selected organized channel set in responseto user interaction with the selected organized channel set interfaceelement. In some such embodiments, the apparatus 300 is configured toreceive the user interaction directly, for example via one or moreperipherals, touch components, or the like (e.g., a click on anorganized channel set editing element). In response to completion of theuser interaction, the apparatus 300 may be configured to receive userinteraction data embodying the settings configuration request forprocessing.

At block 1704, the apparatus includes means configured to configure atleast one group-based communication channel setting for each group-basedcommunication channel in a group-based communication channel setassociated with the selected organized channel set. In some embodiments,the selected organized channel set is identified and/or retrieved basedon information from the settings configuration request, for example anorganized channel set identifier therein. In this regard, suchembodiments may identify the group-based communication channelassociated with the selected organized channel set (e.g., group-basedcommunication channels or identifiers stored within or stored associatedwith the selected organized channel set, such that group-basedcommunication channel is linked to the organized channel set). Toconfigure the group-based communication channel setting for eachgroup-based communication channel, in some embodiments, the selectedorganized channel set is updated to reflect new channel setting value(s)identified from the settings configuration request. In some suchembodiments, the group-based communication channels linked to theselected organized channel set may inherit such channel setting valueswhile within the selected organized channel set (e.g., and may inheritdifferent values if moved to another organized channel set).Alternatively, in other embodiments, to configure the group-basedcommunication channel setting for each group-based communicationchannel, the channel setting values are directly updated for eachgroup-based communication channel (e.g., such that if the group-basedcommunication channel is moved, the channel settings values remain thesame until a subsequent configuration is performed).

In some embodiments, the apparatus 200 includes means such as thechannel organization module 212, processor 202, and/or the like, or acombination thereof, configured to configure at least one group-basedcommunication channel setting for each group-based communication channelin a group-based communication channel set associated with the selectedorganized channel set. In this regard, the apparatus 200 may identifythe selected organized channel set, and/or a corresponding group-basedcommunication channel set, by retrieving such information from agroup-based communication datastore. Additionally or alternatively, inthis regard, the apparatus 200 may configure the group-basedcommunication channel settings by storing channel setting valuesidentified from the settings configuration request, for the eachgroup-based communication channel settings. The updated channel settingsvalues may be stored, for example in a group-based communicationdatastore, associated with the organized channels set (e.g., forconfiguring all group-based communication channels associated with theset through inheritance of the channel setting values), or associatedwith each group-based communication channel directly (e.g., forconfiguring the group-based communication channel irrespective of itscontinued association with the selected organized channel set). Theupdated channel setting values may be stored associated with aparticular authenticated user account identifier, which may be parsedand/or otherwise identified from the settings configuration request,such that the updated channel setting values may be retrieved for use inprocessing data for transmission to a client device associated with theauthenticated user account. In this regard, it should be appreciatedthat the channel settings values that a particular authenticated useraccount may be shared across the various client devices associated withthe authenticated user account, but different authenticated useraccounts are separate such that each may still personalize their channelsetting values. The apparatus 200 may, for a particular authenticateduser account, utilize such channel setting values in determining how toprocess incoming information, requests, user interaction data, and/orother data. For example, when receiving new group-based communicationmessages associated with a group-based communication channel within theselected organized channel set, the apparatus 200 may utilize channelsetting values for certain group-based communication channel settings ofthe selected organized channel set in determining whether to transmitthe group-based communication message(s) and/or correspondingnotification data (e.g., push notifications) to a client device forrendering.

In other embodiments, the apparatus 300 includes means such as thegroup-based client management module 310, processor 302, and/or thelike, or a combination thereof, configured to configure at least onegroup-based communication channel setting for each group-basedcommunication channel in a group-based communication channel setassociated with the selected organized channel set. In this regard, theapparatus 200 may identify the selected organized channel set, and/or acorresponding group-based communication channel set, by retrieving suchinformation from a client datastore (e.g., local and/or directlyaccessible to the apparatus 300). Additionally or alternatively, in thisregard, the apparatus 300 may configure the group-based communicationchannel settings by storing channel settings values identified from thesettings configuration request for each of the group-based communicationsettings. The updated channel settings values may be stored, for examplein the client datastore, associated with the selected organized channelset (e.g., for configuring all group-based communication channelsassociated with the organized channel set through inheritance of thechannel setting values), or associated with each group-basedcommunication channel directly the channel setting values), orassociated with each group-based communication channel directly (e.g.,for configuring the group-based communication channel irrespective ofits continued association with the selected organized channel set). Theapparatus 300 may, for a particular authenticated user account, utilizesuch channel setting values in determining how to process incominginformation, requests, user interaction data, and/or other data. Forexample, when receiving new group-based communication messagesassociated with a group-based communication channel within the selectedorganized channel set, the apparatus 300 may utilize channel settingvalues for certain group-based communication channel settings of theselected organized channel set in determining whether to render a popupnotification message associated with one or more of the receivedgroup-based communication messages.

In some embodiments, after completion of block 1704, the flow ends. Inother embodiments, after completion of block 1704 the flow returns asubsequent block in another flow as illustrated. In yet otherembodiments, after completion of block 1704, the flow continues to thebeginning of any of the flows described above with respect to FIGS.10-16.

CONCLUSION

Although an example processing system has been described above,implementations of the subject matter and the functional operationsdescribed herein can be implemented in other types of digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them.

Embodiments of the subject matter and the operations described hereincan be implemented in digital electronic circuitry, or in computersoftware, firmware, or hardware, including the structures disclosed inthis specification and their structural equivalents, or in combinationsof one or more of them. Embodiments of the subject matter describedherein can be implemented as one or more computer programs, i.e., one ormore modules of computer program instructions, encoded on computerstorage medium for execution by, or to control the operation of,information/data processing apparatus. Alternatively, or in addition,the program instructions can be encoded on an artificially-generatedpropagated signal, e.g., a machine-generated electrical, optical, orelectromagnetic signal, which is generated to encode information/datafor transmission to suitable receiver apparatus for execution by aninformation/data processing apparatus. A computer storage medium can be,or be included in, a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of them. Moreover,while a computer storage medium is not a propagated signal, a computerstorage medium can be a source or destination of computer programinstructions encoded in an artificially-generated propagated signal. Thecomputer storage medium can also be, or be included in, one or moreseparate physical components or media (e.g., multiple CDs, disks, orother storage devices).

The operations described herein can be implemented as operationsperformed by an information/data processing apparatus oninformation/data stored on one or more computer-readable storage devicesor received from other sources.

The term “data processing apparatus” encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., a FPGA or an ASIC. The apparatuscan also include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a repositorymanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.The apparatus and execution environment can realize various differentcomputing model infrastructures, such as web services, distributedcomputing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor information/data (e.g., one or more scripts stored in a markuplanguage document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described herein can be performed by oneor more programmable processors executing one or more computer programsto perform actions by operating on input information/data and generatingoutput. Processors suitable for the execution of a computer programinclude, by way of example, both general and special purposemicroprocessors, and any one or more processors of any kind of digitalcomputer. Generally, a processor will receive instructions andinformation/data from a read-only memory or a random access memory orboth. The essential elements of a computer are a processor forperforming actions in accordance with instructions and one or morememory devices for storing instructions and data. Generally, a computerwill also include, or be operatively coupled to receive information/datafrom or transfer information/data to, or both, one or more mass storagedevices for storing data, e.g., magnetic, magneto-optical disks, oroptical disks. However, a computer need not have such devices. Devicessuitable for storing computer program instructions and information/datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described herein can be implemented on a computer having adisplay device, e.g., a CRT (cathode ray tube) or LCD (liquid crystaldisplay) monitor, for displaying information/data to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

Embodiments of the subject matter described herein can be implemented ina computing system that includes a back-end component, e.g., as aninformation/data server, or that includes a middleware component, e.g.,an application server, or that includes a front-end component, e.g., aclient computer having a graphical user interface or a web browserthrough which a user can interact with an implementation of the subjectmatter described herein, or any combination of one or more suchback-end, middleware, or front-end components. The components of thesystem can be interconnected by any form or medium of digitalinformation/data communication, e.g., a communication network. Examplesof communication networks include a local area network (“LAN”) and awide area network (“WAN”), an inter-network (e.g., the Internet), andpeer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someembodiments, a server transmits information/data (e.g., an HTML page) toa client device (e.g., for purposes of displaying information/data toand receiving user input from a user interacting with the clientdevice). Information/data generated at the client device (e.g., a resultof the user interaction) can be received from the client device at theserver.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anydisclosures or of what may be claimed, but rather as descriptions offeatures specific to particular embodiments of particular disclosures.Certain features that are described herein in the context of separateembodiments can also be implemented in combination in a singleembodiment. Conversely, various features that are described in thecontext of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a sub combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous.

1. (canceled)
 2. A method comprising: causing display, via a client of afirst user associated with a first organization, of an interfaceassociated with a communication platform, wherein the interface includesa first section that includes a first set of non-shared communicationchannels associated with the first organization and a second sectionthat includes a second set of shared communication channels associatedwith the first organization and one or more other organizations;determining that the first user is associated with a sharedcommunication channel in which the first user was previouslyunassociated, wherein the shared communication channel is alsoassociated with one or more second users associated with a secondorganization that is different than the first organization; and based atleast in part on determining that the first user is associated with theshared communication channel, automatically associating the sharedcommunication channel with the second section such that the sharedcommunication channel is displayed within the second section.
 3. Themethod as recited in claim 2, wherein, via the interface, the first useris authorized to associate one or more non-shared communication channelswith the first section and one or more shared communication channelswith the second section.
 4. The method as recited in claim 2, furthercomprising: based at least in part on receiving a request, via theinterface, from at least one user associated with the first organizationor the second organization, generating the shared communication channel,wherein the request identifies users, including the first user and theone or more second users, to be associated with the shared communicationchannel; and automatically associating the shared communication channelwith the second section based at least in part on the request.
 5. Themethod as recited in claim 2, wherein direct messages exchanged betweenthe first user and users associated with the one or more otherorganizations are automatically associated with, and included within,the second section.
 6. The method as recited in claim 2, wherein thefirst user is associated with a plurality of workspaces, wherein thesecond section is included within each workspace or the plurality ofworkspaces, further comprising: determining an update associated withthe second section in association with a first workspace of theplurality of workspaces; and updating, based at least in part on theupdate, the second section in each other workspace of the plurality ofworkspaces.
 7. The method as recited in claim 2, wherein the firstsection is different than the second section, the first section isincluded in a first portion of the interface, and the second section isincluded in a second portion of the interface that is different than thefirst portion.
 8. The method as recited in claim 2, further comprising:receiving, from the client associated with the first user and via theinterface, a request to drag the shared communication channel or asecond shared communication channel of the second set of sharedcommunication channels into a third section associated with theinterface; and based at least in part on the request, causing display ofthe shared communication channel or the second shared communicationchannel within the third section.
 9. A system comprising: one or moreprocessors; and memory storing one or more computer-executableinstructions that, when executed by the one or more processors, causethe one or processors to perform operations comprising: causing display,via a client of a first user associated with a first organization, of aninterface associated with a communication platform, wherein theinterface includes a first section that includes a first set ofnon-shared communication channels associated with the first organizationand a second section that includes a second set of shared communicationchannels associated with the first organization and one or more otherorganizations; determining that the first user is associated with ashared communication channel in which the first user was previouslyunassociated, wherein the shared communication channel is alsoassociated with one or more second users associated with a secondorganization that is different than the first organization; and based atleast in part on determining that the first user is associated with theshared communication channel, automatically associating the sharedcommunication channel with the second section such that the sharedcommunication channel is displayed within the second section.
 10. Thesystem as recited in claim 9, wherein, via the interface, the first useris authorized to associate one or more non-shared communication channelswith the first section and one or more shared communication channelswith the second section.
 11. The system as recited in claim 9, whereinthe operations further comprise: based at least in part on receiving arequest, via the interface, from at least one user associated with thefirst organization or the second organization, generating the sharedcommunication channel, wherein the request identifies users, includingthe first user and the one or more second users, to be associated withthe shared communication channel; and automatically associating theshared communication channel with the second section based at least inpart on the request.
 12. The system as recited in claim 9, whereindirect messages exchanged between the first user and users associatedwith the one or more other organizations are automatically associatedwith, and included within, the second section.
 13. The system as recitedin claim 9, wherein the first user is associated with a plurality ofworkspaces, wherein the second section is included within each workspaceor the plurality of workspaces, wherein the operations further comprise:determining an update associated with the second section in associationwith a first workspace of the plurality of workspaces; and updating,based at least in part on the update, the second section in each otherworkspace of the plurality of workspaces.
 14. The system as recited inclaim 9, wherein the first section is different than the second section,the first section is included in a first portion of the interface, andthe second section is included in a second portion of the interface thatis different than the first portion.
 15. The system as recited in claim9, wherein the operations further comprise: receiving, from the clientassociated with the first user and via the interface, a request to dragthe shared communication channel or a second shared communicationchannel of the second set of shared communication channels into a thirdsection associated with the interface; and based at least in part on therequest, causing display of the shared communication channel or thesecond shared communication channel within the third section.
 16. One ormore computer-readable media storing one or more computer-executableinstructions that, when executed by the one or more processors, causethe one or more processors to perform operations comprising: causingdisplay, via a client of a first user associated with a firstorganization, of an interface associated with a communication platform,wherein the interface includes a first section that includes a first setof non-shared communication channels associated with the firstorganization and a second section that includes a second set of sharedcommunication channels associated with the first organization and one ormore other organizations; determining that the first user is associatedwith a shared communication channel in which the first user waspreviously unassociated, wherein the shared communication channel isalso associated with one or more second users associated with a secondorganization that is different than the first organization; and based atleast in part on determining that the first user is associated with theshared communication channel, automatically associating the sharedcommunication channel with the second section such that the sharedcommunication channel is displayed within the second section.
 17. Theone or more computer-readable media as recited in claim 16, wherein, viathe interface, the first user is authorized to associate one or morenon-shared communication channels with the first section and one or moreshared communication channels with the second section.
 18. The one ormore computer-readable media as recited in claim 16, wherein theoperations further comprise: based at least in part on receiving arequest, via the interface, from at least one user associated with thefirst organization or the second organization, generating the sharedcommunication channel, wherein the request identifies users, includingthe first user and the one or more second users, to be associated withthe shared communication channel; and automatically associating theshared communication channel with the second section based at least inpart on the request.
 19. The one or more computer-readable media asrecited in claim 16, wherein direct messages exchanged between the firstuser and users associated with the one or more other organizations areautomatically associated with, and included within, the second section.20. The one or more computer-readable media as recited in claim 16,wherein the first user is associated with a plurality of workspaces,wherein the second section is included within each workspace or theplurality of workspaces, wherein the operations further comprise:determining an update associated with the second section in associationwith a first workspace of the plurality of workspaces; and updating,based at least in part on the update, the second section in each otherworkspace of the plurality of workspaces.
 21. The one or morecomputer-readable media as recited in claim 16, wherein the operationsfurther comprise: receiving, from the client associated with the firstuser and via the interface, a request to drag the shared communicationchannel or a second shared communication channel of the second set ofshared communication channels into a third section associated with theinterface; and based at least in part on the request, causing display ofthe shared communication channel or the second shared communicationchannel within the third section.